将 GKE 与 HTTP 代理结合使用

Using GKE with an HTTP Proxy

是否可以 运行 HTTP 代理后面的私有 GKE 集群(私有端点和节点)?

GKE 节点需要互联网连接才能从 public 个存储库中提取 docker 个图像。问题是,我们不想登录每个 GKE 节点并配置 http_proxy 环境变量并在每次集群升级后重复此操作。

是否可以为每个节点自动设置 http_proxy 环境变量,或者是否有更好的方法在私有 GKE 集群上配置 http_proxy

您可以使用 DaemonSet 在所有或某些节点上部署您需要 运行 的正在进行的后台任务(自动设置 http_proxy)。示例:

kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: startup-script
  labels:
    app: startup-script
spec:
  template:
    metadata:
      labels:
        app: startup-script
    spec:
      hostPID: true
      containers:
        - name: startup-script
          image: gcr.io/basic-app-with-example/startup-script:v1
          imagePullPolicy: Always
          securityContext:
            privileged: true
          env:
          - name: STARTUP_SCRIPT
            value: |
              #! /bin/bash
              list of the command that you need to execute in node
              export http_proxy='http://<host>:<port>'

并且您可以在 GCP 中使用 Cloud NAT 以允许您的私有 GKE 集群访问 public 个存储库。