En esta página, se proporcionan instrucciones para configurar políticas de red a nivel de la carga de trabajo en Google Distributed Cloud (GDC) aislado.
Las políticas de red a nivel de la carga de trabajo ofrecen un control detallado sobre la comunicación entre cargas de trabajo individuales dentro de un proyecto. Esta granularidad permite un control más estricto del acceso a la red, lo que mejora la seguridad y el uso de los recursos.
Las políticas de red a nivel de la carga de trabajo pueden aplicar PNP a lo largo de una sola zona. Se pueden agregar etiquetas específicas a las cargas de trabajo dentro de una sola zona, lo que te permite controlar la comunicación entre cargas de trabajo individuales dentro de un proyecto o en diferentes proyectos para esa zona. Para obtener más información, consulta Política de red a nivel de la carga de trabajo de una sola zona.
Crea una política de tráfico intraproyecto a nivel de la carga de trabajo
Puedes crear una política de tráfico intraproyecto a nivel de la carga de trabajo para habilitar o inhabilitar el acceso a la red para el tráfico entre cargas de trabajo dentro de un proyecto.
Política de red de tráfico intraproyecto a nivel de la carga de trabajo de entrada
Cuando creas un proyecto, también creas de forma implícita un recurso ProjectNetworkPolicy
base predeterminado que permite la comunicación dentro del proyecto entre todas las cargas de trabajo. Esta política permite el tráfico entrante de otras cargas de trabajo en el mismo proyecto.
Para crear una política de tráfico dentro del proyecto a nivel de la carga de trabajo, primero se debe borrar la política básica predeterminada. De lo contrario, es posible que se produzca un comportamiento inesperado.
Para borrar la política básica predeterminada, ejecuta el siguiente comando:
kubectl --kubeconfig GLOBAL_API_SERVER delete pnp base-policy-allow-intra-project-traffic -n PROJECT
Para crear una política de red de tráfico intraproyecto a nivel de la carga de trabajo de entrada, crea y aplica el siguiente recurso personalizado:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ProjectNetworkPolicy metadata: namespace: PROJECT name: allow-intra-project-inbound-traffic-from-target-to-subject spec: policyType: Ingress subject: subjectType: UserWorkload workloadSelector: matchLabels: SUBJECT_LABEL_KEY: SUBJECT_LABEL_VALUE ingress: - from: - projectSelector: projects: matchNames: - PROJECT workloads: matchLabels: TARGET_LABEL_KEY: TARGET_LABEL_VALUE EOF
Reemplaza lo siguiente:
GLOBAL_API_SERVER
: Es la ruta de acceso de kubeconfig del servidor de la API global. Para obtener más información, consulta Servidores de API globales y zonales. Si aún no generaste un archivo kubeconfig para el servidor de la API, consulta Acceder para obtener más detalles.PROJECT
: Es el nombre del proyecto en el que deseas permitir el tráfico entrante intraproyecto a nivel de la carga de trabajo.SUBJECT_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar las cargas de trabajo de origen. Por ejemplo,app
,tier
orole
.SUBJECT_LABEL_VALUE
: Es el valor asociado con elSUBJECT_LABEL_KEY
. Especifica qué cargas de trabajo son la fuente del tráfico permitido. Por ejemplo, siSUBJECT_LABEL_KEY
esapp
ySUBJECT_LABEL_VALUE
esbackend
, las cargas de trabajo con la etiquetaapp: backend
son la fuente de tráfico.TARGET_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar las cargas de trabajo de destino.TARGET_LABEL_VALUE
: Es el valor asociado con elTARGET_LABEL_KEY
. Especifica qué cargas de trabajo son el destino del tráfico permitido.
Crea una política de tráfico entre proyectos a nivel de la carga de trabajo
Puedes crear una política de tráfico entre proyectos a nivel de la carga de trabajo para habilitar o inhabilitar el acceso a la red para el tráfico entre cargas de trabajo en diferentes proyectos.
Política de red de tráfico entre proyectos a nivel de la carga de trabajo de salida
Para crear una política de red de tráfico entre proyectos a nivel de la carga de trabajo de salida, crea y aplica el siguiente recurso personalizado:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ProjectNetworkPolicy metadata: namespace: PROJECT_1 name: allow-cross-project-outbound-traffic-to-subject-from-target spec: policyType: Egress subject: subjectType: UserWorkload workloadSelector: matchLabels: SUBJECT_LABEL_KEY: SUBJECT_LABEL_VALUE egress: - to: - projectSelector: projects: matchNames: - PROJECT_2 workloads: matchLabels: TARGET_LABEL_KEY: TARGET_LABEL_VALUE EOF
Reemplaza lo siguiente:
GLOBAL_API_SERVER
: Es la ruta de acceso de kubeconfig del servidor de la API global. Para obtener más información, consulta Servidores de API globales y zonales. Si aún no generaste un archivo kubeconfig para el servidor de la API, consulta Acceder para obtener más detalles.PROJECT_1
: Es el nombre del proyecto en el que deseas permitir el tráfico saliente entre proyectos a nivel de la carga de trabajo.PROJECT_2
: Es el nombre del proyecto al que deseas enviar el tráfico saliente entre proyectos a nivel de la carga de trabajo.SUBJECT_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar las cargas de trabajo de origen. Por ejemplo,app
,tier
orole
.SUBJECT_LABEL_VALUE
: Es el valor asociado con elSUBJECT_LABEL_KEY
. Especifica qué cargas de trabajo son la fuente del tráfico permitido. Por ejemplo, siSUBJECT_LABEL_KEY
esapp
ySUBJECT_LABEL_VALUE
esbackend
, las cargas de trabajo con la etiquetaapp: backend
son la fuente de tráfico.TARGET_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar las cargas de trabajo de destino.TARGET_LABEL_VALUE
: Es el valor asociado con elTARGET_LABEL_KEY
. Especifica qué cargas de trabajo son el destino del tráfico permitido.
Crea una política de tráfico intraproyecto a nivel de la carga de trabajo para una sola zona
Puedes crear una política de tráfico intraproyecto a nivel de la carga de trabajo de una sola zona para habilitar o inhabilitar el acceso a la red para el tráfico entre cargas de trabajo dentro de un proyecto en una zona específica.
Política de red de tráfico intraproyecto a nivel de la carga de trabajo de entrada de una sola zona
Cuando creas un proyecto, también creas de forma implícita un recurso ProjectNetworkPolicy
base predeterminado que permite la comunicación dentro del proyecto entre todas las cargas de trabajo. Esta política permite el tráfico entrante de otras cargas de trabajo en el mismo proyecto.
Para crear una política de red de tráfico interno del proyecto a nivel de la carga de trabajo de entrada de una sola zona, primero se debe borrar la política básica predeterminada. De lo contrario, es posible que se produzca un comportamiento inesperado.
Para borrar la política básica predeterminada, ejecuta el siguiente comando:
kubectl --kubeconfig GLOBAL_API_SERVER delete pnp base-policy-allow-intra-project-traffic -n PROJECT
Para crear una política de red de tráfico interno del proyecto a nivel de la carga de trabajo de entrada de una sola zona, crea y aplica el siguiente recurso personalizado:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ProjectNetworkPolicy metadata: namespace: PROJECT name: allow-single-zone-intra-project-inbound-traffic-from-target-to-subject spec: policyType: Ingress subject: subjectType: UserWorkload workloadSelector: matchLabels: SUBJECT_LABEL_KEY: SUBJECT_LABEL_VALUE ZONE_SUBJECT_LABEL_KEY: ZONE_SUBJECT_LABEL_VALUE ingress: - from: - projectSelector: projects: matchNames: - PROJECT workloads: matchLabels: TARGET_LABEL_KEY: TARGET_LABEL_VALUE ZONE_TARGET_LABEL_KEY: ZONE_TARGET_LABEL_VALUE EOF
Reemplaza lo siguiente:
GLOBAL_API_SERVER
: Es la ruta de acceso de kubeconfig del servidor de la API global. Para obtener más información, consulta Servidores de API globales y zonales. Si aún no generaste un archivo kubeconfig para el servidor de la API, consulta Acceder para obtener más detalles.PROJECT
: Es el nombre del proyecto en el que deseas permitir el tráfico entrante intraproyecto a nivel de la carga de trabajo de una sola zona.SUBJECT_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar las cargas de trabajo de origen. Por ejemplo,app
,tier
orole
.SUBJECT_LABEL_VALUE
: Es el valor asociado con elSUBJECT_LABEL_KEY
. Especifica qué cargas de trabajo son la fuente del tráfico permitido. Por ejemplo, siSUBJECT_LABEL_KEY
esapp
ySUBJECT_LABEL_VALUE
esbackend
, las cargas de trabajo con la etiquetaapp: backend
son la fuente de tráfico.TARGET_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar las cargas de trabajo de destino.TARGET_LABEL_VALUE
: Es el valor asociado con elTARGET_LABEL_KEY
. Especifica qué cargas de trabajo son el destino del tráfico permitido.ZONE_SUBJECT_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar la zona de origen. Por ejemplo,zone
oregion
.ZONE_SUBJECT_LABEL_VALUE
: Es el valor asociado con elZONE_SUBJECT_LABEL_KEY
. Especifica qué zona es la fuente del tráfico permitido. Por ejemplo, siZONE_SUBJECT_LABEL_KEY
eszone
yZONE_SUBJECT_LABEL_VALUE
esus-central1-a
, las cargas de trabajo con la etiquetazone: us-central1-a
son la fuente de tráfico.ZONE_TARGET_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar la zona de destino.ZONE_TARGET_LABEL_VALUE
: Es el valor asociado con elZONE_TARGET_LABEL_KEY
. Especifica qué zona es el destino del tráfico permitido.
Crea una política de tráfico entre proyectos a nivel de la carga de trabajo de una sola zona
Puedes crear una política de tráfico entre proyectos a nivel de la carga de trabajo de una sola zona para habilitar o inhabilitar el acceso a la red para el tráfico entre cargas de trabajo dentro de diferentes proyectos en una zona específica.
Política de red de tráfico entre proyectos a nivel de carga de trabajo de salida de una sola zona
Para crear una política de red de tráfico interno del proyecto a nivel de la carga de trabajo de salida de una sola zona, crea y aplica el siguiente recurso personalizado:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ProjectNetworkPolicy metadata: namespace: PROJECT_1 name: allow-single-zone-cross-project-outbound-traffic-to-subject-from-target spec: policyType: Egress subject: subjectType: UserWorkload workloadSelector: matchLabels: SUBJECT_LABEL_KEY: SUBJECT_LABEL_VALUE ZONE_SUBJECT_LABEL_KEY: ZONE_SUBJECT_LABEL_VALUE egress: - to: - projectSelector: projects: matchNames: - PROJECT_2 workloads: matchLabels: TARGET_LABEL_KEY: TARGET_LABEL_VALUE ZONE_TARGET_LABEL_KEY: ZONE_TARGET_LABEL_VALUE EOF
Reemplaza lo siguiente:
GLOBAL_API_SERVER
: Es la ruta de acceso de kubeconfig del servidor de la API global. Para obtener más información, consulta Servidores de API globales y zonales. Si aún no generaste un archivo kubeconfig para el servidor de la API, consulta Acceder para obtener más detalles.PROJECT_1
: Es el nombre del proyecto en el que deseas permitir el tráfico saliente entre proyectos a nivel de la carga de trabajo de una sola zona.PROJECT_2
: Es el nombre del proyecto al que deseas enviar el tráfico saliente entre proyectos a nivel de la carga de trabajo de una sola zona.SUBJECT_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar las cargas de trabajo de origen. Por ejemplo,app
,tier
orole
.SUBJECT_LABEL_VALUE
: Es el valor asociado con elSUBJECT_LABEL_KEY
. Especifica qué cargas de trabajo son la fuente del tráfico permitido. Por ejemplo, siSUBJECT_LABEL_KEY
esapp
ySUBJECT_LABEL_VALUE
esbackend
, las cargas de trabajo con la etiquetaapp: backend
son la fuente de tráfico.TARGET_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar las cargas de trabajo de destino.TARGET_LABEL_VALUE
: Es el valor asociado con elTARGET_LABEL_KEY
. Especifica qué cargas de trabajo son el destino del tráfico permitido.ZONE_SUBJECT_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar la zona de origen. Por ejemplo,zone
oregion
.ZONE_SUBJECT_LABEL_VALUE
: Es el valor asociado con elZONE_SUBJECT_LABEL_KEY
. Especifica qué zona es la fuente del tráfico permitido. Por ejemplo, siZONE_SUBJECT_LABEL_KEY
eszone
yZONE_SUBJECT_LABEL_VALUE
esus-central1-a
, las cargas de trabajo con la etiquetazone: us-central1-a
son la fuente de tráfico.ZONE_TARGET_LABEL_KEY
: Es la clave de la etiqueta que se usa para seleccionar la zona de destino.ZONE_TARGET_LABEL_VALUE
: Es el valor asociado con elZONE_TARGET_LABEL_KEY
. Especifica qué zona es el destino del tráfico permitido.