kubernetes - 将 GKE 与 HTTP 代理一起使用
问题描述
是否可以在 HTTP 代理后面运行私有 GKE 集群(私有端点和节点)?
GKE 节点需要互联网连接才能从公共存储库中提取 docker 映像。问题是,我们不想登录每个 GKE 节点并配置http_proxy
环境变量并在每次集群升级后重复此操作。
是否可以为每个节点自动设置http_proxy
环境变量,或者是否有更好的方法http_proxy
在私有 GKE 集群上进行配置?
解决方案
您可以使用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 集群访问公共存储库。
推荐阅读
- regex - Raku 正则表达式:如何知道哪个组被交替捕获
- wordpress - 奇怪的wordpress行为
- android - 如何使用 Kotlin 在 runOnUiThread 中附加到 Android
- android - Google fit 无法正确同步到 Android 应用
- python - Facebook Prophet add_regressor 没有帮助
- javascript - 谷歌分析点击事件跟踪使用 gtag 和条件/触发器?
- c - 如何使用在多个标头中声明的函数
- ruby-on-rails - Solidus:找不到rails g spree的生成器:安装
- reactjs - React 应用程序表单数据未插入到 mysql 表中
- swift - API以错误的顺序快速获取数据