Helm项目提供了一个统一的软件打包方式,支持版本控制,可以大大简化Kubernetes应用分发与部署中的复杂性。本教程介绍了如何在Cloud Shell中通过Helm部署Jenkins。
教程介绍
以下步骤及示例均已在 Alibaba Cloud Shell 中集成。您可以在 Cloud Shell 中打开,快速体验通过Helm部署Jenkins。
前提条件
在开始前,确保您已满足以下条件:
- 已经部署了一个Kubernetes集群,并且版本为1.8.4或更高。
说明 如果您的集群版本不满足要求,请进行升级。
- 将Kubernetes集群的配置文件存放在Cloud Shell的 ~/.kube/config目录中。
配置Helm
执行以下命令使用阿里云镜像来配置Helm。
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
安装成功后,您可以使用以下命令管理Helm:
- 执行以下命令,查看在存储库中可用的所有Helm charts:
helm search
- 执行以下命令,更新charts列表:
helm repo update
- 执行以下命令,查看在集群上安装的charts列表:
helm ls
部署Jenkins
执行以下命令部署Jenkins:
helm install --name my-jenkins --set Persistence.Enabled=false stable/jenkins
说明 Persistence.Enabled设置为false,会禁用PersistentVolume。在您的生产环境下,可以创建一个NAS作为PersistentVolume。
测试验证
完成以下操作,测试部署的Jenkins:
- 执行以下命令,获取账号和登录密码:
helm install --name my-jenkins --set Persistence.Enabled=false stable/jenkins
- 执行以下命令,查看登录地址:
export SERVICE_IP=$(kubectl get svc --namespace default my-jenkins --template '{{ range (index .status.loadBalancer.ingress 0) }}{{ .}}{{ end }}') && echo http://$SERVICE_IP:8080/login
说明 访问地址可能并不能马上生效,需要等待负载均衡等资源启动完成。您可以使用如下命令,来检查公网IP是否已经被分配。kubectl get svc --namespace default my-jenkins
- 访问输出在Terminal中的地址,即可看到您刚刚部署完成的Jenkins,可使用获取的账号和密码登录。
删除应用
执行以下命令,删除部署的Jenkins:
helm delete --purge my-jenkins