helm版本是v3.4.2
k3s版本是v1.19.5+k3s2

1. 下载

[root@master helm]# helm search repo stable/jenkins

NAME          	CHART VERSION	APP VERSION	DESCRIPTION                                       
stable/jenkins	2.5.4        	lts        	DEPRECATED - Open source continuous integration...

[root@master helm]# helm pull stable/jenkins

解压

stable http://mirror.azure.cn/kubernetes/charts/

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外部访问
cat <<EOF> my-values.yaml
master:
  serviceType: NodePort
  nodePort: 30005
  adminPassword: www19930327

persistence:
  enabled: true
  storageClass: jenkins-data
  size: "5Gi"
EOF
3.2 域名外部访问(https)(镜像没更新)
[root@master jenkins]# cat <<EOF> my-values.yaml
master:
  image: "registry.cn-shanghai.aliyuncs.com/wanfei/jenkins"
  tag: "lts"
  adminPassword: www19930327
  ingress:
    enabled: true
    apiVersion: "networking.k8s.io/v1beta1"
    annotations:
      kubernetes.io/ingress.class: nginx
      kubernetes.io/tls-acme: "true"
    hostName: jenkins.wanfei.wang
    tls:
      - secretName: jenkins.cluster.local
        hosts:
          - jenkins.wanfei.wang
  sidecars:
    configAutoReload:
      image: registry.cn-shanghai.aliyuncs.com/navychi-kubernetes/k8s-sidecar:0.1.20

agent:
  image: "registry.cn-shanghai.aliyuncs.com/wanfei/jnlp-slave"
  tag: "3.27-1"

backup:
  image:
    repository: "registry.cn-shanghai.aliyuncs.com/wanfei/kube-tasks"
    tag: "0.2.0"

persistence:
  enabled: true
  storageClass: jenkins-data
  annotations: {}
  accessMode: "ReadWriteOnce"
  size: "5Gi"
EOF

kubernetes.io/tls-acme: "true":自动生成TLS证书,集群用了cert-manager自动实现https

4. 安装

kubectl create ns kube-ops
helm install jenkins -f my-values.yaml stable/jenkins --namespace kube-ops --version 2.5.4

# 查询
[root@master jenkins]# helm ls -n kube-ops | grep jenkins
jenkins	kube-ops 	1       	2021-01-14 01:12:52.788585379 +0800 CST	deployed	jenkins-2.5.4	lts

# 等待很长时间后,查询
[root@master jenkins]# kubectl get pods -n kube-ops | grep jenkins
jenkins-76c9886846-l5vq2   2/2     Running   0          9m23s

[root@master jenkins]# kubectl get pvc -n kube-ops | grep jenkins
jenkins                                  Bound    pvc-6f9a62e8-e663-4d49-a5a7-e0c2da841116   10Gi       RWO            jenkins-data   23m

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

访问地址 http://ip:30591/

账号: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
在这里插入图片描述
认证中心,网关,权限管理,注册中心,信息设备管理,信息空间管理,信息车辆管理,信息人员管理,信息社区管理,联动配置
在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐