Como administrador de vSphere, puede crear un espacio de nombres de supervisor, establecer límites de CPU, memoria y almacenamiento en el espacio de nombres, asignar permisos y activar el servicio de espacio de nombres en un clúster como una plantilla. Como resultado, los ingenieros de desarrollo y operaciones pueden crear un espacio de nombres de supervisor de autoservicio e implementar cargas de trabajo dentro de él.

Flujo de trabajo de creación y configuración de espacios de nombres de autoservicio

Como administrador de vSphere, puede crear un espacio de nombres de supervisor, establecer límites de CPU, memoria y almacenamiento en el espacio de nombres, asignar permisos y aprovisionar o activar el servicio de espacio de nombres en un clúster como plantilla.
Figura 1. Flujo de trabajo de aprovisionamiento de plantilla de espacio de nombres de autoservicio
""
Como ingeniero de Desarrollo y operaciones, puede crear un espacio de nombres de supervisor mediante autoservicio e implementar cargas de trabajo dentro de él. Puede compartirlo con otros ingenieros de Desarrollo y operaciones, o eliminarlo cuando ya no sea necesario. Para compartir el espacio de nombres con otros ingenieros de desarrollo y operaciones, póngase en contacto con el administrador de vSphere.
Figura 2. Flujo de trabajo de creación de espacio de nombres de autoservicio
""

Crear y configurar una plantilla de espacio de nombres de autoservicio

Como administrador de vSphere, puede crear y configurar un espacio de nombres de supervisor como una plantilla de espacio de nombres de autoservicio. A continuación, los ingenieros de desarrollo y operaciones pueden crear y eliminar espacios de nombres de supervisor mediante la línea de comandos de kubectl.

Requisitos previos

Configure un clúster con vSphere IaaS control plane.

Procedimiento

  1. En vSphere Client, desplácese hasta Supervisor.
  2. Haga clic en la pestaña Configurar y seleccione General en Supervisor.
  3. Seleccione Servicio de espacio de nombres.
  4. Active o desactive el conmutador Estado para habilitar la función.
    Aparecerá la página Crear plantilla de espacio de nombres.
  5. En el panel Configuración, configure recursos para el espacio de nombres.
    Opción Descripción
    CPU La cantidad de recursos de CPU que se reservarán para el espacio de nombres.
    Memoria La cantidad de memoria que se reservará para el espacio de nombres.
    Almacenamiento La cantidad total de espacio de almacenamiento que se reservará para el espacio de nombres.
    Directiva de almacenamiento Las directivas de almacenamiento que se usarán con cargas de trabajo que requieren almacenamiento persistente.
    Red En el menú desplegable Red, seleccione una red para el espacio de nombres.
    Clases de máquina virtual Las clases de máquina virtual para implementar máquinas virtuales independientes.
    Bibliotecas de contenido Las bibliotecas de contenido con imágenes de máquina virtual que se usarán para las implementaciones de máquinas virtuales.
  6. Haga clic en Siguiente.
  7. En el panel Permisos, agregue ingenieros y grupos de desarrollo y operaciones para permitirles utilizar la plantilla con la que pueden crear espacios de nombres.
    Seleccione un origen de identidad y un usuario o un grupo, y haga clic en Siguiente.
  8. En el panel Revisar y confirmar, se muestran las propiedades que configura.
    Revise las propiedades y haga clic en Listo.

Resultados

Se configuró una plantilla de espacio de nombres y tiene estado Activo. Como administrador de vSphere, puede editar la plantilla. Los ingenieros de desarrollo y operaciones pueden utilizar la plantilla para crear espacios de nombres.

Desactivar un espacio de nombres de autoservicio

Como administrador de vSphere, puede desactivar un espacio de nombres de autoservicio en el clúster.

Cuando se desactiva una plantilla de espacio de nombres de autoservicio, los ingenieros de desarrollo y operaciones no pueden usar la plantilla para crear nuevos espacios de nombres en el clúster. Sí pueden eliminar los espacios de nombres que ya crearon.

Procedimiento

  1. En vSphere Client, desplácese hasta Supervisor.
  2. Haga clic en la pestaña Configurar y seleccione General en Supervisor.
  3. En el panel Servicio de espacio de nombres, alterne el conmutador de Estado para desactivar la plantilla.
  4. Para volver a activar la plantilla, alterne nuevamente el conmutador de Estado.
    Puede crear otro espacio de nombres de autoservicio o utilizar el existente.

Crear un espacio de nombres de autoservicio

Como ingeniero de desarrollo y operaciones, puede crear un espacio de nombres de autoservicio y ejecutar cargas de trabajo en él. Una vez creado el espacio de nombres, puede compartirlo con otros ingenieros de desarrollo y operaciones o eliminarlo cuando ya no sea necesario.

Requisitos previos

  • Compruebe que un administrador de vSphere haya creado y activado una plantilla de espacio de nombres de autoservicio en el clúster. Consulte Crear y configurar una plantilla de espacio de nombres de autoservicio.
  • Compruebe que se haya agregado a la lista de permisos en la plantilla de espacio de nombres de autoservicio de forma individual o como miembro de un grupo.
  • Obtenga la dirección IP del plano de control de Supervisor.

Procedimiento

  1. Utilice complemento de vSphere para kubectl para autenticarse en Supervisor. Consulte Conexión con el supervisor como usuario de vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Cambie el contexto al Supervisor.
    kubectl config use-context SUPERVISOR-CLUSTER-IP
  3. Cree un espacio de nombres de autoservicio en el clúster.
    kubectl create namespace NAMESPACE NAME
    Por ejemplo
    kubectl create namespace test-ns
    Nota: Los permisos de propietario están disponibles para los ingenieros de desarrollo y operaciones después de habilitar vSphere IaaS control plane y actualizar el clúster. Si solo actualizó vCenter Server y no el clúster, los ingenieros de desarrollo y operaciones solo tendrán permisos de edición en los espacios de nombres.
    El espacio de nombres que cree aparecerá en el clúster. Para compartir el espacio de nombres con otros ingenieros de desarrollo y operaciones, póngase en contacto con el administrador de vSphere.

Crear un espacio de nombres de autoservicio con anotaciones y etiquetas

Los ingenieros de desarrollo y operaciones pueden crear espacios de nombres de autoservicio con anotaciones y etiquetas mediante la línea de comandos kubectl.

Los ingenieros de desarrollo y operaciones pueden utilizar un manifiesto de YAML con anotaciones y etiquetas definidas por el usuario.

Procedimiento

  1. Inicie sesión en el Supervisor.
    kubectl vsphere login --server IP-ADDRESS-SUPERVISOR-CLUSTER --vsphere-username VCENTER-SSO-USERNAME
  2. Cree un archivo de manifiesto YAML de espacio de nombres con anotaciones y etiquetas.
    kubectl create -f ns-create.yaml
    Por ejemplo, cree el siguiente archivo ns-create.yaml:
    apiVersion: v1
    kind: Namespace
    metadata:
      name: test-ns-yaml
      labels:
        my-label: "my-label-val-yaml"
      annotations:
        my-ann-yaml: "my-ann-val-yaml"
  3. Aplique el manifiesto de YAML.
    kubectl create -f ns-create.yaml

    O

    kubectl apply -f ns-create.yaml
  4. Describa el espacio de nombres que creó para ver los cambios.
    root@localhost [ /tmp ]# kubectl describe ns test-ns-yaml
    Name:         test-ns-yaml
    Labels:       my-label=my-label-val-yaml
                  vSphereClusterID=domain-c50
    Annotations:  my-ann-yaml: my-ann-val-yaml
                  vmware-system-namespace-owner-count: 1
                  vmware-system-resource-pool: resgroup-171
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v172
    Status:       Active
     
    Resource Quotas
     Name:             test-ns-yaml
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     Name:                                                                           test-ns-yaml-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
     
    No LimitRange resource.

Actualizar un espacio de nombres de autoservicio mediante la anotación kubectl y la etiqueta kubectl

El ingeniero de desarrollo y operaciones puede actualizar o eliminar las anotaciones y etiquetas del espacio de nombres de autoservicio mediante los comandos kubectl annotate y kubectl label.

Requisitos previos

Compruebe que tiene permisos de propietario en el espacio de nombres que desea actualizar.

Procedimiento

  1. Inicie sesión en el Supervisor.
    kubectl vsphere login --server IP-ADDRESS-SUPERVISOR-CLUSTER --vsphere-username VCENTER-SSO-USERNAME
  2. Describa el espacio de nombres que desea actualizar.
    root@localhost [ /tmp ]# kubectl describe ns testns
    Name:         testns
    Labels:       my-label=test-label-2
                  vSphereClusterID=domain-c50
    Annotations:  my-ann: test-ann-2
                  vmware-system-namespace-owner-count: 2
                  vmware-system-resource-pool: resgroup-153
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v154
    Status:       Active
     
     
    Resource Quotas
     Name:             testns
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     
     Name:                                                                           testns-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
  3. Actualice las anotaciones mediante el comando kubectl annotate.
    Por ejemplo, kubectl annotate --overwrite ns testns my-ann="test-ann-3"
    Para eliminar una anotación, ejecute el comando kubectl annotate --overwrite ns testns my-ann-
  4. Actualice las etiquetas mediante el comando kubectl label.
    Por ejemplo, kubectl label --overwrite ns testns my-label="test-label-3"
    Para eliminar una etiqueta, ejecute el comando kubectl label --overwrite ns testns my-label-
  5. Describa el espacio de nombres para ver las actualizaciones.
    root@localhost [ /tmp ]# kubectl describe ns testns
    Name:         testns
    Labels:       my-label=test-label-3
                  vSphereClusterID=domain-c50
    Annotations:  my-ann: test-ann-3
                  vmware-system-namespace-owner-count: 2
                  vmware-system-resource-pool: resgroup-153
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v154
    Status:       Active
     
     
    Resource Quotas
     Name:             testns
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     
     Name:                                                                           testns-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
     
     
    No LimitRange resource.

Actualizar un espacio de nombres de autoservicio mediante kubectl edit

El ingeniero de desarrollo y operaciones puede actualizar los espacios de nombres de autoservicio mediante el comando kubectl edit.

Requisitos previos

Compruebe que tiene permisos de propietario en el espacio de nombres que desea actualizar.

Procedimiento

  1. Inicie sesión en el Supervisor.
    kubectl vsphere login --server IP-ADDRESS-SUPERVISOR-CLUSTER --vsphere-username VCENTER-SSO-USERNAME
  2. Describa el espacio de nombres que desea actualizar.
    kubectl describe ns testns-1
    Name:         testns
    Labels:       vSphereClusterID=domain-c50
    Annotations:  my-ann: test-ann-2
                  vmware-system-namespace-owner-count: 2
                  vmware-system-resource-pool: resgroup-153
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v154
    Status:       Active
     
     
    Resource Quotas
     Name:             testns-1
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     
     Name:                                                                           testns-1-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
  3. Edite el espacio de nombres mediante el comando kubectl edit.
    Por ejemplo, kubectl edit ns testns-1
    El comando kubectl edit abre el manifiesto del espacio de nombres en el editor de texto definido por las variables de entorno KUBE_EDITOR o EDITOR.
  4. Actualice las etiquetas.
    Por ejemplo, my-label=test-label
  5. Actualice las anotaciones.
    Por ejemplo, my-ann: test-ann
  6. Describa el espacio de nombres para ver las actualizaciones.
    root@localhost [ /tmp ]# kubectl describe ns testns-1
    Name:         testns-1
    Labels:       my-label=test-label
                  vSphereClusterID=domain-c50
    Annotations:  my-ann: test-ann
                  vmware-system-namespace-owner-count: 1
                  vmware-system-resource-pool: resgroup-173
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v174
    Status:       Active
     
     
    Resource Quotas
     Name:             testns-1
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     
     Name:                                                                           testns-1-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
     
     
    No LimitRange resource.
    

Eliminar un espacio de nombres de autoservicio

Como ingeniero de desarrollo y operaciones, puede eliminar un espacio de nombres de autoservicio que haya creado.

Requisitos previos

Compruebe si creó un espacio de nombres de autoservicio mediante el complemento de vSphere para kubectl.

Procedimiento

  1. Utilice complemento de vSphere para kubectl para autenticarse en Supervisor. Consulte Conexión con el supervisor como usuario de vCenter Single Sign-On.
  2. Elimine el espacio de nombres de autoservicio del clúster.
    kubectl delete namespace NAMESPACE NAME
    Por ejemplo:
    kubectl delete namespace test-ns