将 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 个存储库。
是否可以 运行 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 个存储库。