En este documento, se muestra cómo instalar y desinstalar el controlador de jerarquía, que extiende los espacios de nombres regulares de Kubernetes para permitir la creación y las políticas jerárquicas sin modificar el repositorio del Sincronizador de configuración.
Antes de comenzar
Necesitas un clúster que ejecute la versión 1.15.x de Google Kubernetes Engine (GKE) o una versión posterior con el Sincronizador de configuración ya instalado.
Habilita el controlador de jerarquía
Sigue estos pasos para configurar el Sincronizador de configuración a fin de habilitar el controlador de jerarquía en el clúster:
En el archivo de configuración del operador, en el objeto
spec.hierarchyController
, establece el valor deenabled
entrue
:# config-management.yaml apiVersion: configmanagement.gke.io/v1 kind: ConfigManagement metadata: name: config-management spec: # Set to true to enable hierarchical namespaces hierarchyController: enabled: true # ...other fields...
Aplica la configuración:
kubectl apply -f config-management.yaml
Se implementan varias cargas de trabajo y, luego, se puede usar el controlador de jerarquía en tu clúster. Esto puede tardar hasta un minuto en completarse.
Instala el complemento de kubectl
Es posible interactuar con el controlador de jerarquía solo a través de herramientas cliente de Kubernetes como kubectl
. Sin embargo, el complemento de kubectl de código abierto kubectl-hns
simplifica en gran medida varias tareas. Este complemento forma parte del controlador de espacio de nombres jerárquico (HNC), que es un componente del controlador de jerarquía.
La comunidad de OSS distribuye este complemento, que está disponible para Linux y macOS en este momento. Para instalarlo en tu estación de trabajo, consulta las siguientes secciones.
Determina la versión requerida del complemento
Cada versión del Sincronizador de configuración corresponde a una versión del proyecto OSS, como se muestra en la siguiente tabla. Para obtener mejores resultados, asegúrate de que la versión del complemento que descargues coincida con la versión del Sincronizador de configuración.
Versión del Sincronizador de configuración | kubectl-hns versión |
---|---|
1.5.0 | 0.5.2 |
1.4.2 | 0.5.1 |
1.4.1 | 0.5.0 |
Pre-1.4.0 | N/A |
Instala el complemento en tu estación de trabajo
Configura una variable de entorno en la versión de
kubectl-hns
que se muestra en la tabla anterior. Por ejemplo:HNC_VERSION=v0.5.0 # Example for Config Sync 1.4.1
Selecciona la ubicación para instalar el complemento. Puede estar en cualquier lugar de tu RUTA DE ACCESO.
PLUGIN_DIR=~/kubectl-plugins # Example path
Descarga el complemento y haz que sea ejecutable.
Linux
Desde Config Sync 1.5.0 / HH v0.5.2:
curl -L -o ${PLUGIN_DIR}/kubectl-hns \ https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/kubectl-hns_linux_amd64 chmod +x ${PLUGIN_DIR}/kubectl-hns
En Config Sync 1.4.2 / HNC v0.5.1 y versiones anteriores:
curl -L -o ${PLUGIN_DIR}/kubectl-hns \ https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/kubectl-hns chmod +x ${PLUGIN_DIR}/kubectl-hns
macOS
macOS solo está disponible para Config Sync 1.5.0 / HNC v0.5.2 y versiones posteriores.
curl -L -o ${PLUGIN_DIR}/kubectl-hns \ https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/kubectl-hns_darwin_amd64 chmod +x ${PLUGIN_DIR}/kubectl-hns
Revisa la instalación
Si el controlador de jerarquía está instalado de forma correcta, deberías poder crear subespacios de nombres debajo de un espacio de nombres existente, como se muestra a continuación:
kubectl hns create sub -n default
Si el controlador de jerarquía funciona de forma correcta, deberías poder inspeccionar la jerarquía resultante:
kubectl hns tree default
Resultado:
default └── sub
Limpia el espacio de nombres secundario. Los espacios de nombres secundarios no se pueden borrar directamente. En su lugar, debes borrar el anclaje del subespacio de nombres del espacio de nombres superior:
kubectl delete subns sub -n default # subnamespaceanchor.hnc.x-k8s.io "sub" deleted
Desinstala el controlador de jerarquía
Para desinstalar el controlador de jerarquía, haz lo siguiente:
- En el archivo de configuración del operador, en el objeto
spec.hierarchyController
, establece el valor deenabled
enfalse
. Después de que el operador quita el finalizador
hierarchycontroller.configmanagement.gke.io
, se desinstala el controlador de jerarquía.
Si deseas desinstalar completamente el Sincronizador de configuración, consulta Desinstala el operador de un clúster.
¿Qué sigue?
Si deseas obtener más información sobre las tareas comunes que puedes completar con HNC, consulta HNC User Guide: How-to (Guía del usuario de HNC: Instructivo).