Si tu organización usa un proxy HTTP para el tráfico de Internet, debes configurar los clústeres conectados de GKE según corresponda. En este documento, se describe cómo realizar esta configuración.
Antes de comenzar
Los clústeres conectados de GKE requieren conectividad a varios servicios de 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
Reemplaza GCP_LOCATION
por la región de Google Cloud en el que reside tu clúster. Especifica us-west1
o alguna otra región compatible.
Configura la compatibilidad con el proxy para clústeres adjuntos de GKE
Para configurar la compatibilidad con proxy para clústeres adjuntos de GKE, 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 }
Reemplaza lo siguiente:
HTTP_PROXY_AUTHENTICATION_URL
: La URL del servidor proxy, que consta de un nombre de host y una dirección IP, y de forma opcional un puerto, un nombre de usuario y una contraseña. Por ejemplo,http://user:password@192.0.2.0:80
o solo198.51.100.255
.HTTPS_PROXY_AUTH_URL
: La URL del proxy para el tráfico HTTPS encriptado, que consta de un nombre de host o una dirección IP, y de forma opcional un puerto, un nombre de usuario y una contraseña.NO_PROXY_ADDRESSES
: una 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 conectados de GKE que eviten usar el proxy para los recursos especificados. Ten en cuenta lo siguiente:- Los valores pueden ser direcciones IP individuales, rangos de CIDR, nombres de dominio o incluso el carácter asterix (*). Con un solo asterisco (
*
) en el camponoProxy
indica a los clústeres conectados a GKE que omitan el proxy para todo el tráfico. - Un dominio que empieza con un punto, como
.google.com
, se orienta a todas sus subdominios. Por ejemplo,.google.com
incluye direcciones comomail.google.com
ydrive.google.com
, pero excluyegoogle.com
. - Asegúrate de incluir los dominios
kubernetes.default.svc.cluster.local
ykubernetes.default.svc
para un registro adecuado. Veamos 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, rangos de CIDR, nombres de dominio o incluso el carácter asterix (*). Con un solo asterisco (
Cuando crees el archivo de configuración del proxy, cumple con los siguientes lineamientos:
- Los campos
httpProxy
yhttpsProxy
no aceptan prefijoshttps://
. Usahttp://
, incluso si la dirección real del servidor proxy empieza conhttps://
. Por ejemplo, representahttps://proxy.example.com:3128
comohttp://proxy.example.com:3128
. - Es obligatorio proporcionar valores para los tres campos:
httpProxy
,httpsProxy
ynoProxy
. - Considera agregar dominios, direcciones IP o CIDR adicionales a la lista
noProxy
. Te recomendamos incluir el rango de IP de VPC.
Ejecuta el siguiente comando para crear un secreto de Kubernetes que contenga la configuración del proxy:
kubectl create secret generic SECRET_NAME \ --from-file=PROXY_CONFIGURATION_FILE
Reemplaza lo siguiente:
SECRET_NAME
: Es el nombre del Secret de Kubernetes.PROXY_CONFIGURATION_FILE
: Es la configuración del proxy que creaste en el paso 1.
Para marcar el Secret de Kubernetes como inmutable, configura su campo
immutable
comotrue
:kubectl edit secret SECRET_NAME
Reemplaza
SECRET_NAME
por el nombre del Secret de Kubernetes.Configura un clúster nuevo o existente para usar el proxy:
Clúster nuevo
Para registrar un clúster nuevo 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
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre del clústerSECRET_NAME
: es el nombre del Secret de Kubernetes que contiene la configuración del proxySECRET_NAMESPACE
: es el espacio de nombres de Kubernetes en el que se almacena el Secret
Para obtener información sobre todos los argumentos que puedes usar cuando registras un clúster, consulta el comando
gcloud container attached clusters register
.Clúster existente
Para actualizar un clúster registrado antes con una configuración de proxy nueva, 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
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre del clústerSECRET_NAME
: es el nombre del Secret de Kubernetes que contiene la configuración del proxySECRET_NAMESPACE
: es el espacio de nombres de Kubernetes en el que se almacena el Secret
Este paso es necesario si los detalles del servidor proxy cambiaron o si un registro inicial del clúster omitió los requisitos del proxy.
Para obtener información sobre todos los argumentos que puedes usar cuando actualizas un clúster, consulta el comando
gcloud container attached clusters update
.
Después de seguir estos pasos, los clústeres adjuntos de GKE procesan el tráfico saliente de Internet con el servidor proxy especificado en el archivo de configuración.