helm安装jenkins
helm
版本是v3.4.2
k3s
版本是v1.19.5+k3s2
1. 下载
# 添加repo
helm repo add ali https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
[root@master helm]# helm search repo ali/jenkins
NAME CHART VERSION APP VERSION DESCRIPTION
ali/jenkins 0.13.5 2.73 Open source continuous integration server. It s...
[root@master jenkins]# helm pull ali/jenkins
[root@master jenkins]# tar -xvf jenkins-0.13.5.tgz
[root@master jenkins]# cd jenkins/
2. 创建StorageClass
[root@master jenkins]# cat <<EOF> jenkins-data-sc.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: jenkins-data
provisioner: fuseim.pri/ifs
EOF
[root@master jenkins]# kubectl create -f jenkins-data-sc.yaml
3. 新建配置文件
3.1 NodePort外部访问(使用NodePort安装之后不能访问界面)
cat <<EOF> my-values.yaml
Master:
ServiceType: NodePort
NodePort: 30005
AdminPassword: www19930327
Persistence:
StorageClass: jenkins-data
Size: "5Gi"
rbac:
install: true
EOF
3.2 使用Ingress(这个可以成功访问,没有域名hosts
自定义域名)
cat <<EOF> my-values.yaml
Master:
ServiceType: ClusterIP
AdminPassword: www19930327
HostName: jenkins.wanfei.wang
Ingress:
Annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
TLS:
- secretName: jenkins-tls
hosts:
- jenkins.wanfei.wang
Persistence:
StorageClass: jenkins-data
Size: "5Gi"
rbac:
install: true
EOF
rbac
需要指定安装,否则k8s集群配置测试连接不成功
3.3 修改下模板文件,(k3s需要执行,k8s跳过这一步)
[root@master jenkins]# ls
Chart.yaml my-values.yaml OWNERS README.md templates values.yaml
[root@master jenkins]# cd templates/
[root@master templates]# ls
config.yaml home-pvc.yaml jenkins-master-deployment.yaml jenkins-master-networkpolicy.yaml jenkins-test.yaml NOTES.txt secret.yaml test-config.yaml
_helpers.tpl jenkins-agent-svc.yaml jenkins-master-ingress.yaml jenkins-master-svc.yaml jobs.yaml rbac.yaml service-account.yaml
[root@master templates]# vi jenkins-master-deployment.yaml
第一行修改为apps/v1
4. 安装
kubectl create ns kube-ops
helm install jenkins -f my-values.yaml --namespace kube-ops .
# 查询
[root@master jenkins]# helm ls -n kube-ops | grep jenkins
jenkins kube-ops 1 2021-04-03 01:15:41.104554127 +0800 CST deployed jenkins-0.13.5 2.73
# 等待很长时间后,查询
[root@master jenkins]# kubectl get pods -n kube-ops
NAME READY STATUS RESTARTS AGE
jenkins-8444d4b875-656zz 1/1 Running 0 95s
[root@master jenkins]# kubectl get pvc -n kube-ops | grep jenkins
jenkins Bound pvc-f3a9f704-566b-4523-9cd2-47dd197c9da1 5Gi RWO jenkins-data 2m13s
5. 卸载
[root@master jenkins]# helm uninstall jenkins -n kube-ops
release "jenkins" uninstalled
# 删除文件
[root@master jenkins]# rm -rf /data/k8s/archived-kube-ops-jenkins-pvc-*
6. 访问
[root@master jenkins]# kubectl get svc -n kube-ops | grep jenkins
jenkins NodePort 10.109.176.53 <none> 8080:30591/TCP 27s
jenkins-agent ClusterIP 10.100.240.25 <none> 50000/TCP 27s
访问地址 https://jenkins.wanfei.wang/login
账号:admin
密码上面设置的是www19930327
如果密码忘记,可以查看
[root@master jenkins]# printf $(kubectl get secret --namespace kube-ops jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo
KsdfeSSGqX
登录后更新插件
安装中文插件Localization: Chinese (Simplified)
,点第二个,安装后重启
7. 配置集群
配置集群点击这里,换了地方
发现所有信息已经配置好了
8. 参数构建
8.1 字符参数
如果想要传递环境变量
jenkinsfile
里面接收
传递到Dockerfile
里面
8.2 多选参数
有时候想要指定部署哪个服务,可以多选,安装插件Extended Choice Parameter
sc-auth,sc-gateway,sc-admin,sc-register,sc-info-device,sc-info-space,sc-info-car,sc-info-people,sc-info-community,sc-config
认证中心,网关,权限管理,注册中心,信息设备管理,信息空间管理,信息车辆管理,信息人员管理,信息社区管理,联动配置