如何在代理环境的Kubernetes(kubeadm)集群中用Helm安装Jenkins?
在代理环境后方的Kubernetes集群中安装Jenkins
基于你的环境描述(包含master、node1、node2三台节点的K8s集群,部署在代理后方),我把你的安装步骤和配置整理成规范的操作流程,同时补充代理环境下容易踩坑的关键配置项:
1. 创建Jenkins专属命名空间
先为Jenkins创建独立的命名空间,避免和其他服务资源混部:
kubectl create namespace jenkins-project
2. 通过Helm安装Jenkins
使用你提供的Helm命令进行安装,指定自定义配置文件和目标命名空间:
helm install --name jenkins -f jenkins-values.yaml stable/jenkins --namespace jenkins-project
3. 你的jenkins-values.yaml核心配置片段
你给出的Master节点配置如下(保留你提供的原始内容):
Master: Name: jenkins-master Image: "jenkins/jenkins" ImageTag: "lts" ImagePullPolicy: "Always" # ImagePullSecret: jenkins Component: "jenkins-master" UseSecurity: true AdminUser: admin # 注:此处你提供的内容未完成,后续可补充AdminPassword等必要配置
代理环境下的关键补充配置
因为集群处于代理后方,仅靠上面的基础配置大概率会遇到镜像拉取失败、Jenkins插件无法安装的问题,我帮你补充几个必须的适配配置:
容器内网络代理配置
在Master配置块中添加环境变量,让Jenkins Pod能通过代理访问外部网络,同时避免集群内部通信走代理:
Master: # 原有配置... Env: - name: HTTP_PROXY value: "http://你的代理IP:端口" - name: HTTPS_PROXY value: "http://你的代理IP:端口" - name: NO_PROXY value: "localhost,127.0.0.1,cluster.local,.svc,.你的集群域名"
Helm客户端代理设置
如果你的Helm客户端也需要通过代理才能拉取stable/jenkins Chart包,执行安装命令前先设置环境变量:
export HTTP_PROXY=http://你的代理IP:端口 export HTTPS_PROXY=http://你的代理IP:端口 export NO_PROXY=localhost,127.0.0.1,cluster.local,.svc,.你的集群域名
Jenkins JVM级代理(解决插件安装问题)
部分场景下容器级代理无法覆盖Jenkins的插件拉取请求,需要在JVM参数中添加代理配置:
Master: # 原有配置... JAVA_OPTS: >- -Dhttp.proxyHost=你的代理IP -Dhttp.proxyPort=端口 -Dhttps.proxyHost=你的代理IP -Dhttps.proxyPort=端口 -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.cluster.local|*.svc
内容的提问来源于stack exchange,提问作者hokwang
相关产品推荐
相关产品推荐

