En Google Distributed Cloud (GDC) aislado, hay una restricción que impide que los usuarios superen una política de retención máxima establecida GDCHRestrictAttributeRange. El Controlador de políticas de Anthos Config Management aplica esta restricción en los recursos personalizados (CR) de Bucket en los clústeres de administrador de la organización. Esto significa que, de forma predeterminada, solo las cuentas de servicio del sistema, los usuarios del sistema y los usuarios dentro del grupo system:masters pueden quitar los finalizadores. El procedimiento descrito abarca cómo aumentar los límites de la política de retención en los CR de Bucket.
Requisitos previos
- Herramientas: CLI de kubectl
- Acceso requerido: Genera el archivo KUBECONFIG para el clúster
- Acceso requerido: Obtén el rol
Policy Adminen el clúster
Genera el archivo KUBECONFIG para el clúster
Los comandos de Kubectl requieren un archivo KUBECONFIG válido para funcionar. En este proceso, se proporcionan instrucciones paso a paso para generar el archivo KUBECONFIG para los clústeres de administrador raíz, administrador de la organización, sistema de la organización y usuario.
Requisitos previos
Antes de continuar, asegúrate de tener lo siguiente:
Se instaló
gdcloud.La CLI de
kubectlestá instalada.Un certificado firmado por una autoridad certificadora (CA) instalado en la estación de trabajo
Es el nombre de la organización.
Es la URL raíz (GDC). El administrador de TI de la OC debe proporcionarte la URL raíz.
Configura las variables de entorno obligatorias
Sigue las instrucciones de esta sección para generar el archivo KUBECONFIG para org-admin, system o cualquier clúster de usuario.
Ejecuta el siguiente comando para definir la variable de entorno
ORGpara su uso posterior en la terminal actual.ORGes el nombre de tu organización.export ORG=Ejecuta el siguiente comando para definir la variable de entorno
CONSOLE_URLpara su uso posterior en la terminal actual:export CONSOLE_URL=https://console.${ORG:?}.$GDC_URL/ gdcloud config set core/organization_console_url ${CONSOLE_URL:?}Reemplaza
GDC_URLpor la URL base de tu proyecto de GDC.
Accede al clúster
Ejecuta el siguiente comando para acceder:
gdcloud auth login --no-browserCopia el comando de gcloud que se imprime y ejecútalo en una máquina con acceso al navegador.
Copia la URL que se imprimió y pégala en la barra de direcciones de un navegador web.
Sigue las instrucciones de la página web para completar el proceso de acceso.
Cuando se completa el acceso correctamente, el navegador muestra el mensaje Authentication successful. Cierra esta ventana.
Sigue las instrucciones que aparecen en la terminal. Si el acceso se realiza correctamente, la terminal mostrará el mensaje You are now logged in.
Genera el archivo KUBECONFIG
Ejecuta el siguiente comando para definir la variable de entorno
CLUSTERpara su uso posterior en la terminal actual.CLUSTERes el nombre del clúster deseado.export CLUSTER=Consulta la siguiente tabla para derivar el nombre del clúster reemplazando ORGANIZATION-NAME y CLUSTER-NAME por los valores adecuados:
Clúster Nombre del clúster Administrador raíz root-admin Administrador de la organización ORGANIZATION-NAME-admin Sistema de organización ORGANIZATION-NAME-system usuario CLUSTER-NAME Verás que cada uno de los nombres representa lo siguiente:
- El nombre del clúster de administrador raíz es
root-admin. - Los nombres del clúster del sistema de la organización y del clúster de administrador de la organización para una organización llamada
amirasonamira-adminyamira-system, respectivamente. - Los nombres de los clústeres de usuarios son sus nombres de clúster.
- El nombre del clúster de administrador raíz es
Ejecuta el siguiente comando para generar el archivo KUBECONFIG y validar las credenciales:
sh export KUBECONFIG=${HOME}/${CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${CLUSTER:?} [[ $(kubectl config current-context) == *${CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"El comando debería devolver el siguiente resultado:Success. Your kubeconfig is at /usr/local/google/home/iris/kubeconfig-amira-admin.yaml
Obtén el rol de administrador de políticas en el clúster
Este proceso te ayuda a obtener acceso elevado temporal a un clúster.
Requisitos previos
Antes de continuar, asegúrate de tener lo siguiente:
- Otro IO que actuará como aprobador de solicitudes de GitLab. El IO debe tener permisos para aprobar una solicitud de GitLab.
- Es el nombre del clúster al que necesitas acceder. Por ejemplo:
root-admin,org-1-admin. - Es el tipo de rol que deseas asumir. Por ejemplo,
RoleClusterRole,ProjectRoleoOrganizationRole. - Es el rol que deseas asumir.
- Es el espacio de nombres del acceso requerido. No se necesita para
ClusterRoleyOrganizationRole. - Acceso a una estación de trabajo de TI de OC
- Credenciales para GitLab
Ejecuta elevated-access-script
Desde el directorio
private-cloud/operations/tools/de tu estación de trabajo, ejecuta la secuencia de comandoselevated-access-script.sh.Responde la pregunta "Please enter the GDCH_URL of the cluster…" con
$GDCH_URL.Responde la pregunta "Enter Gitlab username:" con el nombre de usuario que usas para acceder a Gitlab.
En la pregunta "Enter Gitlab personal access token:", ingresa el token de acceso personal de tu cuenta. Para crear un token de acceso personal, sigue estas instrucciones:
Ve a
https://gitlab.$GDCH_URL/gdch/iac. Accede a tu cuenta de IO Gitlab.Selecciona tu avatar.
Selecciona Editar perfil.
En el menú de navegación, selecciona Tokens de acceso.
Ingresa un nombre y una fecha de vencimiento para el token.
Selecciona los permisos deseados.
Selecciona Crear un token de acceso personal.
Ahora, la secuencia de comandos clonará el repositorio
iacen tu directorio local.Responde la pregunta "Ingresa tu prefijo de IdP". El
IdP Prefixes un prefijo específico de cada proveedor de identidad que se antepone a cada nombre de usuario dentro de un clúster de GDC. Para encontrar este prefijo, puedes hacer lo siguiente:- consultar con el Watch Commander
- Recuperar instrucciones de la configuración de GDC, específicamente la sección "Administración de identidades y accesos" en la Guía del usuario de operadores
La forma habitual de este prefijo será un conjunto de palabras seguido de un delimitador, es decir,
gdch-infra-operator-.Responde la pregunta "Ingresa tu nombre de usuario" con el nombre de usuario que usas para acceder a tu proveedor de identidad.
Responde la pregunta "Enter the cluster you need the role for" con el nombre del clúster para el que necesitarás el rol.
La secuencia de comandos te pedirá que elijas un tipo de rol de Kubernetes. Escribe el tipo de rol que solicitas.
Responde la pregunta "Ingresa el rol que necesitas asumir" con el nombre del rol.
Ingresa la duración del acceso del rol. La duración de acceso recomendada es de 3 horas.
La secuencia de comandos generará tres archivos YAML.
./iac/infrastructure/zonal/zones/ZONE_NAME/${CLUSTER}/kustomization.yaml./iac/infrastructure/zonal/zones/ZONE_NAME/${CLUSTER}/${USER}-bindings/kustomization.yaml./iac/infrastructure/zonal/zones/ZONE_NAME/${CLUSTER}/${USER}-bindings/${ROLE}-binding.yaml
Para confirmar que cada archivo es correcto, presiona
Yo presionaNpara editar el archivo envim.Después de confirmar todos los archivos, la secuencia de comandos los enviará a una rama
elevated_accessen GitLab y creará una solicitud de combinación.
Revisa y aprueba la solicitud de acceso elevado
En la siguiente lista, se especifican las acciones que se realizan para una solicitud de acceso elevado de revisión y aprobación:
- Otro IO revisa la solicitud de GitLab, incluidos los archivos de configuración de políticas, para aprobar la solicitud de manera adecuada.
- Una vez que la IO aprueba la solicitud, el sistema otorga acceso por el período solicitado.
- El sistema revoca el acceso después del tiempo de vencimiento establecido.
Restricción de parche
Después de obtener el acceso requerido, ejecuta el siguiente comando para establecer el nuevo máximo de la política de retención del bucket. En este ejemplo, se muestra un nuevo máximo de 120 días, pero asegúrate de actualizar el comando al valor que solicitó tu administrador de la plataforma (PA):
kubectl patch GDCHRestrictAttributeRange restrict-bucket-retention-policy -p '{"spec":{"parameters":{"attributeMaxValue":120}}}' --type=merge
El resultado debe verse de la siguiente manera:
gdchrestrictattributerange.constraints.gatekeeper.sh/restrict-bucket-retention-policy patched