En esta ocasión vamos a instalar CSE en VMware Cloud Director, antes que nada repasemos algunos conceptos que es CSE y cuantos tipos de cluster kubernetes en VMware.
Si te perdiste los otros enlaces te los dejo acá
https://lrbr-it.com/2022/06/28/contenedores-parte-1/
https://lrbr-it.com/2022/07/05/contenedores-parte-ii-vmware-cloud-director-cse/
CSE:
Es el complemento de Container Service Extension para VMware Cloud Director. Los proveedores de servicios y los tenants deben utilizar el complemento Kubernetes Container Clusters para crear clústeres de Kubernetes. A partir de VMware Cloud Director 10.2, no es necesario descargar manualmente el complemento y cargarlo en el Service Provider Admin Portal de VMware Cloud Director. El complemento está disponible en VMware Cloud Director de forma predeterminada. Sin embargo, debe publicarlo en los tenants para que puedan crear clústeres de Kubernetes.
Tipos de clústeres de Kubernetes
- Clústeres nativos: el complemento Kubernetes Container Clusters administra los clústeres con tiempo de ejecución nativo de Kubernetes. Estos clústeres tienen una función de alta disponibilidad reducida con un solo nodo principal, ofrecen menos opciones de volúmenes persistentes y ninguna automatización de redes. Sin embargo, pueden tener un costo más bajo. Para la implementación nativa de un clúster de Kubernetes, debe configurar un servidor para la Container Service Extension. Consulte el capítulo Administración del servidor de CSE en la documentación de Container Service Extension (CSE).
- Tanzu Kubernetes Grid, conocido de manera informal como TKG: a partir de VMware Cloud Director 10.3.1, puede crear clústeres de Tanzu Kubernetes Grid. Tanzu Kubernetes Grid admite Kubernetes compatibles ascendentes fortalecidos y firmados por VMware, el nodo de plano de control único, el aprovisionamiento dinámico basado en disco independiente de volúmenes persistentes y la automatización del equilibrador de carga de capa 4. Para obtener más información sobre los clústeres de Tanzu Kubernetes Grid, consulte la documentación de VMware Tanzu Kubernetes Grid.
- Clústeres del servicio de VMware Tanzu® Kubernetes Grid™, conocidos de manera informal como TKGS: puede utilizar la opción de tiempo de ejecución de vSphere with Tanzu para crear clústeres de vSphere with Tanzu administrados por Tanzu Kubernetes Grid Service. Tanzu Kubernetes Grid Service admite Kubernetes compatibles ascendentes fortalecidos y firmados por VMware, varios nodos de plano de control, el aprovisionamiento dinámico y estático basado en discos de primera clase de volúmenes persistentes y la automatización del equilibrador de carga de capa 4. Esta opción ofrece más funciones, pero es posible que sea más costosa. Para obtener más información, consulte la guía Configuración y administración de vSphere with Tanzu en la documentación de vSphere.
- Clústeres de TKGI: VMware Tanzu Kubernetes Grid Integrated Edition es una solución de contenedor diseñada para operativizar Kubernetes para proveedores de servicios y empresas de varias nubes. Algunas de sus capacidades son alta disponibilidad, escalado automático, comprobaciones de estado, corrección automática y actualizaciones graduales para clústeres de Kubernetes. Para obtener más información sobre los clústeres de TKGI, consulte la documentación de VMware Tanzu Kubernetes Grid Integrated Edition.
Escenario
CSE versión plug In | 3.2.0 |
VMware Cloud Director | 10.3.2a |
vSphere | 6.7 |
NSX T | 3.1 |
vCenter Server Appliance | 7.0u3 |
Para este articulo tenemos 3 componentes una VM en donde se implementara CSE, una organización que albergara la configuración base a distribuir para los Tenant a los que les les habilitar a esta funcionalidad funcionalidad de Kubernetes, y finalmente el Tenant que consumirá los contenedores
VM CSE=CSESERVER
Organización Base = Org-CSE
TENANT =ORG-T1
Comenzamos
- Lo primero es descargar el CSE OVA https://packages.vmware.com/photon/3.0/GA/ova/ , una vez descargado el archivo ova proceda con el despliegue de la VM y configure según los siguientes parámetros.
- Conecte a la consola como username root/password = changename
- Actualicé el hostname vi/etc/hostname
- Confguramos la ip en el cse server
- Asignamos permisos y reiniciamos servicios del archivo de red
- Ahora actualizamos el Photon OS
cd /etc/yum.repos.d/ sed -i ‘s/dl.bintray.com\/vmware/packages.vmware.com\/photon\/$releasever/g’ photon.repo photon-updates.repo photon-extras.repo photon-debuginfo.repo
# Update Photon OS tdnf –assumeyes update
# Install CSE dependencies tdnf –assumeyes install build-essential python3-devel python3-pip git
# Create a new CSE user and application directories mkdir -p /opt/vmware/cse chmod 775 -R /opt chmod 777 / groupadd cse useradd cse -g cse -m -p PASSWORD -d /opt/vmware/cse chown cse:cse -R /opt
- # Run as CSE user
su – cse
# Add your public SSH key to CSE server mkdir -p ~/.ssh cat >> ~/.ssh/authorized_keys << EOF ssh-rsa AAAAB:q3NzaC1yc2EAAAADAQABAAABAQCnfTDN/JM3JPBeh6JkS/AeBRXWmSk3Q8NajE4gVWQMZTW9wQGLwjNP6jmuw62qm1KAyyPVlZFSm9iaefTwA9UGd+SlWDi76yH48oGLQAtXUvE0CseMHOUNideHLv/wDMNKCuGk8enngph2JiqOGKexgdec1EpGR7BBQ3Q0kX1ZasP1vzKA38vUtMkE+r/6XO99eAMU2oU8gdNHB6kkU8rgceQPdETyqQbAs3ZhxqT2wf+FEkv0QsrtL9l+GHETMsfx5GSv2FKhlewmuD6WdTXijBZffn2y9aImwFJ+7i2A+jG2KvYiQRwxykB6IAAdUOyHbZEMvgyUD+f+DKHn9j29 rsa-key-20211101 EOF
cat >> ~/.bash_profile << EOF
# For Container Service Extension export CSE_CONFIG=/opt/vmware/cse/config/config.yaml export CSE_CONFIG_PASSWORD=PASSWORD source /opt/vmware/cse/python/bin/activate EOF
instalación de Container Server Extension
Ejecute el siguiente comando
# Install CSE in the virtual environment
python3 -m venv /opt/vmware/cse/python
source /opt/vmware/cse/python/bin/activate pip3 install container-service-extension==3.1.1
Asociamos el CSE extension to VCD -CLI
# Prepare vcd-cli
cat > ~/.vcd-cli/profiles.yaml << EOF extensions: – container_service_extension.client.cse
EOF # Verify if the extension is configured correctly vcd cse version
# Use the following VCD-CLI command to log on to your VMware Cloud Director environment vcd login vcd.lab.cloud.com system administrator -p PASSWORD
# Create a new CSE Service Role on your VMware Cloud Director environment cse create-service-role lab.cloud.com
# Create a new CSE Service account on your VMware Cloud Director environment vcd user create –enabled _svc_cse PASSWORD «CSE Service Role»
Preparando VMware Cloud Director
Antes de continuar con la instalación de CSE necesitamos preparar y configurar VCD
- Organización “Org-CSE”
- Organización VDC “VDC-CSE”
- VCD catalogo “CSE-Catalog”
- Network CSE “CSE-Network”
- Servicios DNS correctamente configurado
- CSE configurando config.yaml
Desde el CSE VM server configuramos el archivo config.yaml
# Create config file mkdir -p /opt/vmware/cse/config
cat > /opt/vmware/cse/config/config-not-encrypted.conf << EOF
mqtt: verify_ssl: false
vcd:
host: vcd.lab.cloud.com
log: true password: PASSWORD
port: 443
username: administrator
verify: true
vcs:
– name: vcsa.lab.cloud.com
password: PASSWORD
username: administrator@vsphere.local
verify: true
service:
enforce_authorization: false
legacy_mode: false
log_wire: false
no_vc_communication_mode: false
processors: 15
telemetry:
enable: true
broker:
catalog: cse-catalog
ip_allocation_mode: pool
network: cse-network
org: ORG-CSE
remote_template_cookbook_url: https://raw.githubusercontent.com/vmware/container-service-extension-templates/master/template_v2.yaml storage_profile: ‘vSAN Default Storage Policy’ vdc: VDC-CSE
EOF
- Acá un punto importante como las credenciales son almacenadas e texto plano en el archivo config.yaml, no es muy seguro, para encriptar el archivo ejecute los siguientes comandos
cse encrypt /opt/vmware/cse/config/config-not-encrypted.conf –output /opt/vmware/cse/config/config.yaml
chmod 600 /opt/vmware/cse/config/config.yaml
cse check /opt/vmware/cse/config/config.yaml
Cuando el archive es validado, Uds. podra solicitar los templates disponibles con el siguiente comando:
cse template list
# Install CSE cse install -c /opt/vmware/cse/config/config.yaml
El procesos toma bastante tiempo , durante el proceso de descarga e instalación los templates CSE serán descargados y personalizados.
Ahora Puedes visualizar los templates cargados en el catálogo de la organización
Agregamos la extensión CSE a VMware Cloud Director
#Log on to VMware Cloud Director using the VCD-CLI vcd login vcd.lab.cloud.com system administrator -p PASSWORD # Registreer de extension vcd system extension create cse cse cse vcdext ‘/api/cse, /api/cse/.*, /api/cse/.*/.*’
Con este plug in podra habilitar mas tarde en los tenantque quiera la entrega del servicio de contenedores
En VMware Cloud Director navege a Administration > Rights Bundles > Publish los sigueintes permisos para los tenant que ud habilitara con el CSE :
- cse:nativeCluster Entitlement
- cse:tkgCluster Entitlement
Ahora para habilitar Kubernetes Native para organización ejecutar el siguiente comando:
VCD-CLI
vcd login vcd.lab.cloud.com system administrator -p PASSWORD
# Enable Native Kubernetes for a specific OrgVDC
vcd cse ovdc enable --native --org Org-CSE OrgVDC VDC-CSE
Finalmente publique el plug in para la organización ORG-T1 y despliegue un cluster kubernetes nativo
UFF!! hasta la proxima
Otros enlaces:
https://pingforinfo.com/how-to-deploy-container-service-extension-cse-3-1-1/
https://vstellar.com/2021/09/native-kubernetes-in-vcd-using-container-service-extension-3-0/
https://www.vblog.nl/install-cse-3-1-1-with-cloud-director-10-3-1/
https://www.virten.net/2021/11/deploy-cse-3-1-with-tkgm-support-in-vmware-cloud-director-10-3/
Videos: