Instalador de Sensedia Service Mesh
Sobre el instalador
El instalador de Sensedia Service Mesh se ha simplificado.
En 3 pasos ya tienes Sensedia Service Mesh instalado en su cluster.
Requerimientos
-
Un cluster Kubernetes.
-
Las versiones de Kubernetes soportadas son 1.22 - 1.25.
-
-
Cualquier herramienta necesaria para interactuar con su Kubernetes o proveedor de nube. Normalmente, esto incluye una herramienta de interfaz de línea de comando. A continuación encontrará algunos enlaces útiles para obtener estas herramientas, así como para consultar la documentación de su proveedor si necesita información más detallada:
-
Docker, para ejecutar el instalador.
-
Cert-Manager (el gestor de certificados nativo de Kubernetes)
-
Proveedor de OpenId Connect
-
Una conexión con Keycloak
Paso 01: Obtenga los archivos de configuración
Dentro del directorio deseado, ejecute el siguiente comando para obtener los archivos de configuración que utilizará el instalador:
curl -L https://sensedia-mesh-installer.sensedia.com/ | sh -
Si el comando anterior se ha ejecutado correctamente, se creará el directorio sensedia-mesh-config
en la ubicación donde se ha ejecutado.
Este directorio contiene los siguientes archivos:
. ├── .env ├── setup.sh └── values └── sensedia ├── keycloak-adp-values.yaml ├── manager-values.yaml └── operator-values.yaml
Los archivos .env
, keycloak-adp-values.yaml
y manager-values.yaml
deberán ser modificados en el paso siguiente.
El archivo operator-values.yaml
deberá, en principio, permanecer vacío.
Si es necesario, el equipo de Sensedia proporcionará información para añadir a él.
Paso 02: Configuración de la instalación
La instalación de Sensedia Service Mesh requiere algunas configuraciones.
Para realizarlas, es necesario modificar los siguientes archivos contenidos en el directorio sensedia-mesh-config
:
-
.env
-
values/sensedia/keycloak-adp-values.yaml
-
values/sensedia/manager-values.yaml
Las siguientes subsecciones ofrecen instrucciones sobre cómo realizar las configuraciones de instalación.
Indique la URL del repositorio Helm
-
Contacte con Sensedia para obtener la URL del repositorio Helm;
-
Sustituye el parámetro
<HELMR>
en el archivo.env
por la URL que ha obtenido:
# Helm repository for Sensedia Mesh SENSEDIA_HELM_REPO=<HELMR> # Attention!!! Be careful when changing the value to true! It will be used to remove Istio and Sensedia Mesh FORCE_UNINSTALL_SERVICES=false
El instalador no solicita confirmación antes de eliminar los servicios. Por lo tanto, para evitar que los servicios sean eliminados por accidente, el valor por defecto de |
Configure Keycloak para gestionar los permisos de usuario
En el archivo values/sensedia/keycloak-adp-values.yaml
, sustituye los valores indicados por <EDIT>
por los valores correspondientes a su conexión con Keycloak:
# -- Enable to install Sensedia Mesh Keycloak Adapter
enabled: true
# -- keycloak connection parameters
keycloak:
# -- The base url for connecting to a Keycloak Admin API. It should contain the scheme, host and port, but not path. For example: https://keycloak.mydomain.com/
baseUrl: <EDIT>
# -- Sensedia Service Mesh Client Id for authenticating when using Keycloak Admin Apis with the OAuth2 Client Credentials Protocol
clientId: <EDIT>
# -- Sensedia Service Mesh Client Secret for authenticating when using Keycloak Admin Apis with the OAuth2 Client Credentials Protocol
clientSecret: <EDIT>
# -- The Keycloak realm that Sensedia Mesh will authenticate to. All Sensedia Mesh client configuration and its users should belong to this realm
realm: <EDIT>
Con el valor del campo enabled especificado como true , se instalará el Keycloak Adapter.
|
Autenticación
Sensedia Service Mesh requiere un proveedor de OpenId Connect para la autenticación.
Para configurar OpenId Connect, tendrá que crear un nuevo Client en su proveedor de OpenId y obtener la siguiente información de él:
-
Client Secret
-
Client Id
-
URL del proveedor
Con esta información, sustituye los valores indicados por <EDIT>
en los campos manager.openid.baseUrl
, manager.oauth.client.id
y manager.oauth.client.secret
del archivo values/sensedia/manager-values.yaml
:
webUI:
host: <EDIT>
scheme: "http"
manager:
sensediaAuth:
enabled: false
openid:
enabled: true
baseUrl: <EDIT>
scopes: profile;email
oauth:
client:
id: <EDIT>
secret: <EDIT>
iam:
adapter: keycloak
ingress:
enabled: true
host: <EDIT>
tls: true
annotations: <EDIT>
Además de estos campos, existen los campos opcionales manager.openid.scopes
y manager.openid.extraParams
.
La configuración de manager.openid.scopes
permite al Sensedia Service Mesh obtener el nombre de usuario y la dirección de correo electrónico y utilizarlos para mostrar la información del usuario en la interfaz gráfica del producto.
El valor de manager.openid.extraParams
es específico de cada proveedor de OpenId.
Puede ser utilizado para especificar parámetros de query a la URL de autenticación OpenID, en el formato "clave=valor".
Por ejemplo, utilizando extraParams: "hd=sensedia.com"
, estamos solicitando al proveedor que sólo acepte cuentas de sensedia.com
para iniciar una sesión.
Exposición de la interfaz Web de Sensedia Service Mesh
La instalación de Sensedia Service Mesh no expone la aplicación fuera del cluster Kubernetes. La razón de esto es permitir que cada usuario decida qué enfoque utilizar para hacerlo.
El punto de entrada de la aplicación es el servicio mesh-router
del namespace sensedia-system
.
Para exponer la aplicación, simplemente exponga ese servicio.
Para obtener información detallada de cada proveedor de servicios de nube, consulte la siguiente documentación:
En el archivo values/sensedia/manager-values.yaml
deberá indicar:
-
El host de su entorno provisionado en los campos
webUI.host
yingress.host
; -
Las anotaciones específicas de su proveedor de servicios en nube en el campo
ingress.annotations
.
(Opcional) Configuración de su propia instancia de MongoDB
El instalador ya tiene una instancia de MongoDB preconfigurada.
Si desea utilizar la configuración de su propia instancia, edite el archivo values/sensedia/manager-values.yaml
para incluir la información correspondiente como se indica a continuación:
manager:
mongodb: # parameters for MongoDB connection
host: "mesh-manager-mongodb"
port: "27017"
database: "mesh-manager"
user: "admin" # application's database user, used by mesh-manager
password: "admin"
migrationUser: "admin" # migration's database user with "dbAdmin" role, used to create the required collections and indexes for the application
migrationPassword: "admin"
mongodb: # demo feature. Creates a database automatically
auth:
rootPassword: "root" # sets the password for the root user
databases: ["mesh-manager"] # database's name
usernames: ["admin"] # initializes database with these users
passwords: ["admin"] # sets the password for the users above, respectively
Paso 03: Instalación de Sensedia Service Mesh
-
Acceda a un cluster de Kubernetes donde se instalará Sensedia Service Mesh.
-
Compruebe que dispone de los permisos necesarios para acceder a este cluster. Para eso, puede intentar ejecutar el siguiente comando:
kubectl get po -A
-
En el directorio
sensedia-mesh-config
, ejecute el siguiente comando para instalar Sensedia Service Mesh y sus dependencias:./setup.sh
Verificación de la instalación
Puede utilizar el siguiente comando para comprobar si las aplicaciones helm están instaladas:
helm list -n sensedia-system NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION mesh-init sensedia-system 1 2022-03-08 16:04:25 -0300 -03 deployed sensedia-mesh-init-1.4.0 1.4.0.0 mesh-manager sensedia-system 1 2022-03-08 16:50:28 -0300 -03 deployed sensedia-mesh-manager-1.4.0 1.4.0.0 mesh-operator sensedia-system 1 2022-03-08 16:04:25 -0300 -03 deployed sensedia-mesh-operator-1.4.0 1.4.0.0
Si hay algún error, intente repetir el proceso o contacte con el soporte de Sensedia.
Acceso a la interfaz Web de usuario
Obtenga el ingress mesh-manager
con este comando:
kubectl get ingress sensedia-mesh-manager -n sensedia-system NAME HOSTS ADDRESS PORTS AGE sensedia-mesh-manager manager-sensedia-mesh-api-platform-testing.sensedia-eng.com e1a0fd59-sensediasystem-se-6385-1406950746.us-east-1.elb.amazonaws.com 80, 443 43m
El host debe coincidir con el configurado previamente al instalar el manager. A continuación, podrá acceder a la interfaz de usuario a través de su navegador.
Si todo el proceso ha ido bien, verás todas sus mallas (meshes) en la pantalla principal.
Desinstalación
-
En el archivo
.env
del directoriosensedia-mesh-config
, cambie el valor de la variableFORCE_UNINSTALL_SERVICES
atrue
. -
Ejecute el siguiente comando en el directorio
sensedia-mesh-config
(esto desinstalará Sensedia Service Mesh y sus dependencias):
./setup.sh uninstallAll
El instalador no solicita confirmación antes de eliminar los servicios. |
Share your suggestions with us!
Click here and then [+ Submit idea]