Si tu organización usa un proxy HTTP para el tráfico de Internet, debes configurar los clústeres adjuntos de GKE en consecuencia. En este documento se describe cómo realizar esta configuración.
Antes de empezar
Los clústeres de GKE adjuntos requieren conectividad con varios servicios Google Cloud . Asegúrate de que tu servidor proxy permita el tráfico a los siguientes dominios:
.gcr.io
cloudresourcemanager.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
storage.googleapis.com
sts.googleapis.com
www.googleapis.com
servicecontrol.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
opsconfigmonitoring.googleapis.com
GCP_LOCATION-gkemulticloud.googleapis.com
Sustituye GCP_LOCATION
por la Google Cloud región en la que se encuentra tu clúster. Especifica us-west1
u otra región admitida.
Configurar la compatibilidad con proxies para clústeres de GKE adjuntos
Para configurar la compatibilidad con proxy en clústeres de GKE vinculados, sigue estos pasos:
Crea un archivo de configuración de proxy que contenga valores para las claves
httpProxy
,noProxy
yhttpsProxy
:{ "httpProxy": HTTP_PROXY_AUTHENTICATION_URL, "httpsProxy": HTTPS_PROXY_AUTH_URL, "noProxy": NO_PROXY_ADDRESSES }
Haz los cambios siguientes:
HTTP_PROXY_AUTHENTICATION_URL
: la URL del servidor proxy, que consta de un nombre de host o una dirección IP y, opcionalmente, un puerto, un nombre de usuario y una contraseña. Por ejemplo,http://user:password@192.0.2.0:80
o simplemente198.51.100.255
.HTTPS_PROXY_AUTH_URL
: la URL del proxy para el tráfico HTTPS cifrado, que consta de un nombre de host o una dirección IP y, opcionalmente, un puerto, un nombre de usuario y una contraseña.NO_PROXY_ADDRESSES
: lista separada por comas de URLs, bloques CIDR y nombres de DNS de recursos que pueden omitir el proxy. Esto indica a los clústeres adjuntos de GKE que eviten usar el proxy para los recursos especificados. Ten en cuenta lo siguiente:- Los valores pueden ser direcciones IP individuales, intervalos CIDR, nombres de dominio o incluso el carácter asterisco (*). Si se usa un solo asterisco (
*
) en el camponoProxy
, se indica a los clústeres adjuntos de GKE que omitan el proxy para todo el tráfico. - Un dominio que empieza por un punto, como
.google.com
, se dirige a todos sus subdominios. Por ejemplo,.google.com
incluye direcciones comomail.google.com
ydrive.google.com
, pero nogoogle.com
. - Asegúrate de incluir los dominios
kubernetes.default.svc.cluster.local
ykubernetes.default.svc
para que los registros sean correctos. Aquí tienes un ejemplo:198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc
.
- Los valores pueden ser direcciones IP individuales, intervalos CIDR, nombres de dominio o incluso el carácter asterisco (*). Si se usa un solo asterisco (
Cuando crees el archivo de configuración de proxy, sigue estas directrices:
- Los campos
httpProxy
yhttpsProxy
no aceptan prefijoshttps://
. Usahttp://
, aunque la dirección del servidor proxy real empiece porhttps://
. Por ejemplo, representahttps://proxy.example.com:3128
comohttp://proxy.example.com:3128
. - Es obligatorio proporcionar valores para los tres campos:
httpProxy
,httpsProxy
ynoProxy
. - Puedes añadir más dominios, direcciones IP o CIDRs a la lista
noProxy
. Te recomendamos que incluyas el intervalo de IPs de la VPC.
Crea un secreto de Kubernetes que contenga la configuración del proxy ejecutando el siguiente comando:
kubectl create secret generic SECRET_NAME \ --from-file=PROXY_CONFIGURATION_FILE
Haz los cambios siguientes:
SECRET_NAME
: el nombre del secreto de KubernetesPROXY_CONFIGURATION_FILE
: la ruta a la configuración del proxy que has creado en el paso 1.
Marca el secreto de Kubernetes como inmutable asignando el valor
true
al campoimmutable
:kubectl edit secret SECRET_NAME
Sustituye
SECRET_NAME
por el nombre del secreto de Kubernetes.Configura un clúster nuevo o uno que ya tengas para usar el proxy:
Agrupación nueva
Para registrar un nuevo clúster y aplicar la configuración del proxy, usa el comando
gcloud container attached clusters register
. Asegúrate de proporcionar los argumentos opcionales--proxy-secret-name
y--proxy-secret-namespace
:gcloud container attached clusters register CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACE
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre del clústerSECRET_NAME
: el nombre del secreto de Kubernetes que contiene la configuración del proxySECRET_NAMESPACE
: el espacio de nombres de Kubernetes donde se almacena el secreto
Para obtener información sobre todos los argumentos que puedes usar al registrar un clúster, consulta el comando
gcloud container attached clusters register
.Clúster disponible
Para actualizar un clúster registrado anteriormente con una nueva configuración de proxy, usa el comando
gcloud container attached clusters update
. Asegúrate de proporcionar los argumentos opcionales--proxy-secret-name
y--proxy-secret-namespace
:gcloud container attached clusters update CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACE
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre del clústerSECRET_NAME
: el nombre del secreto de Kubernetes que contiene la configuración del proxySECRET_NAMESPACE
: el espacio de nombres de Kubernetes donde se almacena el secreto
Este paso es obligatorio si los detalles del servidor proxy han cambiado o si en el registro inicial del clúster no se tuvieron en cuenta los requisitos del proxy.
Para obtener información sobre todos los argumentos que puedes usar al actualizar un clúster, consulta el comando
gcloud container attached clusters update
.
Después de realizar estos pasos, los clústeres adjuntos de GKE procesan el tráfico de Internet saliente mediante el servidor proxy especificado en el archivo de configuración.