En este tema se explica cómo preparar Microsoft Azure para ejecutar Tanzu Kubernetes Grid.
Si va a instalar Tanzu Kubernetes Grid en Azure VMware Solution (AVS), va a realizar la instalación en un entorno vSphere. Consulte Preparar Azure VMware Solution en Microsoft Azure en Preparar para implementar clústeres de administración en un entorno de VMware Cloud para preparar el entorno y Preparar para implementar clústeres de administración en vSphere para implementar clústeres de administración.
Para su comodidad, al final de esta página encontrará una Lista de comprobación de preparación para asegurarse de que está preparado para implementar un clúster de administración de Tanzu Kubernetes Grid en Azure.
Una cuenta de Microsoft Azure con lo siguiente:
Owner
. prod
o dev
. Para obtener más información sobre los planes, consulte Planes de clúster de carga de trabajo.dev
: 4 vCPU (1 principal, 1 de trabajo)prod
: 8 vCPU (3 principales, 1 de trabajo)dev
: 4 vCPU (1 principal, 1 de trabajo)prod
: 12 vCPU (3 principales, 3 de trabajo)Por ejemplo, si se asume un único clúster de administración y todos los clústeres con el mismo plan:
Plan | Clústeres de carga de trabajo | vCPU para carga de trabajo | vCPU para administración | vCPU total |
---|---|---|---|---|
Dev | 1 | 4 | 4 | 8 |
5 | 20 | 24 | ||
Prod | 1 | 12 | 8 | 20 |
5 | 60 | 68 |
Suficientes cuotas de direcciones IP públicas para los clústeres, incluida la cuota de direcciones IP públicas: estándar, direcciones IP públicas: básicas y direcciones IP públicas estáticas. Una cuenta de Azure estándar tiene una cuota de 10 direcciones IP públicas por región. Cada clúster de Tanzu Kubernetes Grid requiere 2 direcciones IP públicas, independientemente de cuántos nodos de plano de control y nodos de trabajo tenga. Para cada objeto del servicio de Kubernetes con el tipo LoadBalancer
, se requiere 1 dirección IP pública.
~/.config/tanzu/tkg/bom/
, y su nombre incluye la versión Tanzu Kubernetes Grid. Por ejemplo, tkg-bom-v2.1.1+vmware.1 .yaml
.imageRepository
para encontrar sus CNCME.(Opcional) Una red virtual (VNet) con:
CLUSTER_API_SERVER_PORT
al implementar el clúster.Si no utiliza una VNet existente, el proceso de instalación crea una nueva.
La CLI de Azure se ha instalado de forma local. Consulte Instalar la CLI de Azure en la documentación de Microsoft Azure.
Si va a implementar servicios de tipo LoadBalancer
en clústeres de carga de trabajo basados en clases, configure una puerta de enlace NAT u otro front-end, como se describe en Los servicios LoadBalancer
para clústeres de carga de trabajo basados en clases en Azure necesitan una configuración manual de puerta de enlace o front-end.
* O consulte Preparar un entorno con acceso a Internet restringido para instalar sin acceso a la red externa.
En la siguiente tabla se describen ejemplos de tamaño de clústeres de administración en Azure. Utilice estos datos como guía para asegurarse de que el clúster de administración esté escalado para controlar la cantidad de clústeres de carga de trabajo que planea implementar. La columna Tamaño de máquina virtual del clúster de carga de trabajo muestra los tamaños de máquina virtual que se utilizaron para los ejemplos en la columna Puede administrar….
Plan de clúster de administración | Tamaño de máquina virtual del clúster de administración | Puede administrar … | Tamaño de máquina virtual del clúster de carga de trabajo |
---|---|---|---|
3 nodos de plano de control y 3 nodos de trabajo |
|
Ejemplos:
|
|
3 nodos de plano de control y 3 nodos de trabajo |
|
Ejemplo: Un clúster de carga de trabajo, implementado con 3 nodos de plano de control y 250 nodos de trabajo |
|
3 nodos de plano de control y 3 nodos de trabajo |
|
Ejemplo: 199 clústeres de carga de trabajo, cada uno implementado con 3 nodos de plano de control y 3 nodos de trabajo |
|
Los clústeres de carga de trabajo y administración de Tanzu Kubernetes Grid en Azure requieren que se definan dos grupos de seguridad de red (NSG) en su VNet y en su grupo de recursos de VNet:
CLUSTER-NAME-controlplane-nsg
y asociado con la subred del plano de control del clústerUn NSG denominado CLUSTER-NAME-node-nsg
y asociado con la subred del nodo de trabajo del clúster
Donde CLUSTER-NAME
es el nombre del clúster.
PrecauciónProporcionar nombres de NSG que no sigan el formato anterior puede impedir la implementación.
Si especifica una VNet existente para el clúster de administración, debe crear estos NSG como se describe en Requisitos generales anteriormente. Se especifica una VNet existente para un clúster de administración con Seleccionar una VNet existente en la interfaz del instalador o AZURE_VNET_NAME
en su archivo de configuración.
Si no especifica una VNet existente para el clúster, el proceso de implementación crea una nueva VNet y los NSG necesarios.
Consulte la tabla Microsoft Azure en la Referencia de variables del archivo de configuración para obtener información sobre cómo configurar la VNet, los grupos de recursos y las subredes del clúster.
Tanzu Kubernetes Grid administra los recursos de Azure como una aplicación cliente registrada que accede a Azure a través de una entidad de servicio. Para crear la entidad de servicio y configurar su acceso a los recursos de Azure, puede utilizar el comando az ad sp create-for-rbac
.
Inicie sesión en la CLI de Azure ejecutando az login
.
Cree una entidad de servicio y asígnele la función Owner
:
az ad sp create-for-rbac --role "Owner" --name "APP-NAME" --scopes /subscriptions/SUBSCRIPTION-ID/resourceGroups/RESOURCE-GROUP
az role assignment create --assignee APP-ID --role "Owner"
Donde:
APP-NAME
es cualquier nombre que se le asigne a la entidad de servicioSUBSCRIPTION-ID
y RESOURCE-GROUP
son el identificador de suscripción de Azure y el grupo de recursos de VNetAPP-ID
es el valor appId
devuelto de az ad sp create-for-rbac
Por ejemplo, para crear y asignar la función Owner
a una entidad de servicio denominada tkg
:
$ az ad sp create-for-rbac --role "Owner" --name "tkg" --scopes /subscriptions/c789uce3-aaaa-bbbb-cccc-a51b6b0gb405/resourceGroups/myrg
Creating 'Owner' role assignment under scope '/subscriptions/c789uce3-aaaa-bbbb-cccc-a51b6b0gb405'
The output includes credentials that you must protect. Be sure that you do not include these credentials in your code or check the credentials into your source control. For more information, see https://aka.ms/azadsp-cli
'name' property in the output is deprecated and will be removed in the future. Use 'appId' instead.
{
"appId": "c407cfd4-aaaa-bbbb-cccc-80af703eb0ed",
"displayName": "tkg",
"name": "c407cfd4-aaaa-bbbb-cccc-80af703eb0ed",
"password": "R6yM_.aaaabbbbccccdddd111122223333",
"tenant": "9c117323-aaaa-bbbb-cccc-9ee430723ba3"
}
$ az role assignment create --assignee c407cfd4-aaaa-bbbb-cccc-80af703eb0ed --role "Owner"
Registre estos resultados. Utilizará esta información en los siguientes pasos de Aceptar la licencia de imagen base y más adelante al implementar un clúster de administración. Para obtener la lista completa de opciones compatibles con az ad sp create-for-rbac
, consulte az ad sp create-for-rbac en la documentación de Azure.
Para ejecutar máquinas virtuales del clúster de administración en Azure, acepte la licencia para su versión base de Kubernetes y el sistema operativo de máquina.
Ejecute el comando az vm image terms accept
especificando el --plan
y el identificador de suscripción.
En Tanzu Kubernetes Grid v2.1.1, el valor predeterminado --plan
de la imagen del clúster es k8s-1dot24dot10-ubuntu-2004
, de acuerdo con la versión 1.24.10 de Kubernetes y el sistema operativo de la máquina, Ubuntu 20.04. Ejecute el siguiente comando:
az vm image terms accept --publisher vmware-inc --offer tkg-capi-2022-06-24 --plan k8s-1dot24dot10-ubuntu-2004 --subscription AZURE_SUBSCRIPTION_ID
Donde AZURE_SUBSCRIPTION_ID
es el identificador de suscripción de Azure.
Debe repetir esto para aceptar la licencia de imagen base para cada versión de Kubernetes o sistema operativo que desee utilizar al implementar sus clústeres, y cada vez que actualice a una nueva versión de Tanzu Kubernetes Grid.
Los clústeres de administración de se implementan desde una máquina denominada machinebootstrap, mediante la CLI de Tanzu. Para conectarse a Azure, la máquina de arranque debe proporcionar la parte de clave pública de un par de claves SSH. Si la máquina de arranque aún no tiene un par de claves SSH, puede utilizar una herramienta como ssh-keygen
para generar una.
En la máquina de arranque, ejecute el siguiente comando ssh-keygen
.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Cuando se le solicite Enter file in which to save the key (/root/.ssh/id_rsa):
, pulse Entrar para aceptar el valor predeterminado.
Agregue la clave privada al agente SSH que se ejecuta en su máquina e introduzca la contraseña que creó en el paso anterior.
ssh-add ~/.ssh/id_rsa
Abra el archivo .ssh/id_rsa.pub
en un editor de texto para poder copiarlo y pegarlo fácilmente al implementar un clúster de administración.
Utilice esta lista de comprobación para asegurarse de que está preparado para implementar un clúster de administración Tanzu Kubernetes Grid en Azure:
CLI de Tanzu instalada
tanzu version
. El resultado debe mostrar version: v0.28.1
, que es la versión de Tanzu Framework en Tanzu Kubernetes Grid v2.1.1.Cuenta de Azure
https://portal.azure.com
.CLI de Azure instalada
az version
. El resultado debe mostrar la versión actual de la CLI de Azure como aparece en Instalar la CLI de Azure, en la documentación de Microsoft Azure.Aplicación tkg
registrada
tkg
aparece como configurada en Registrar Tanzu Kubernetes Grid como una aplicación cliente de Azure anteriormente, y con un secreto actual.az ad sp show --id.
Licencia de imagen de máquina virtual base aceptada
az vm image terms show --publisher vmware-inc --offer tkg-capi-2022-06-24 --plan k8s-1dot24dot10-ubuntu-2004
. El resultado debe contener "accepted": true
.Para las implementaciones de producción, se recomienda enfáticamente habilitar la administración de identidades para sus clústeres: * Para obtener información sobre los pasos de preparación que se deben realizar antes de implementar un clúster de administración, consulte Obtener los detalles del proveedor de identidades en Configurar la administración de identidades. * Para obtener información conceptual sobre la administración de identidades y el control de acceso en Tanzu Kubernetes Grid, consulte Acerca de la administración de identidades y acceso.
Si utiliza Tanzu Kubernetes Grid en un entorno con una conexión externa a Internet, una vez que haya configurado la administración de identidades, estará listo para implementar clústeres de administración en Azure.