初始环境
kubeadm 搭建kubenretes 1.20.5 集群如下
image.png
前面https://www.yuque.com/duiniwukenaihe/ehb02i/dkwh3p的时候安装了cilium hubble的时候安装了helm3.
存储集成了腾讯云的cbs块存储
网络? traefik代理(纯http,证书都交给腾讯云负载均衡clb了)
准备集成规划一下cicd还是走一遍传统的jenkins github spinnaker这几样的集成了。先搭建下基础的环境。就从jenkins开始了

1. 再次重复一下helm3的安装

1. 下载helm应用程序

  1. https://github.com/helm/helm/releases

现在最新版本 3.5.3吧? 找到对应系统平台的包下载
image.png

2. 安装helm

上传tar.gz包到服务器(我是master节点随机了都可以的)

  1. tar zxvf helm-v3.5.3-linux-amd64.tar.gz
  2. mv linux-amd64/helm /usr/bin/helm

ok helm 安装成功
image.png

2. jenkins的配置与安装

2.1. helm 添加jenkins仓库。并pull 下jenkins版本包

  1. helm repo add jenkins https://charts.jenkins.io
  2. helm pull jenkins/jenkins
  3. #我的版本还是3.3.0其他版本也是同理
  4. tar zxvf jenkins-3.3.0.tgz

2.2. 根据个人需求更改value.yaml

cd jenkins目录,将values.yaml安装个人需求改一下
个人就修改了clusterZone和默认存储使用了腾讯云的cbs.
image.png

image.png

3. helm安装jenkins到指定namespace

3.1. 正常的安装过程

  1. kubectl create ns kube-ops
  2. helm install -f values.yaml jenkins jenkins/jenkins -n kube-ops

image.png

3.2. 安装中int 下载插件等待时间过长的坑

下载插件很坑,等不了时间可以把value.yaml文件中安装插件的过程注释掉。
image.png
注释掉install的插件后面手动安装吧
image.png

我是直接注释掉然后删除helm部署程序重新来了一次。

  1. helm delete jenkins -n kube-ops
  2. helm install -f values.yaml jenkins jenkins/jenkins -n kube-ops

果然注释掉直接就启动了

4. 初始化后的一些事情

4.1. 等待pod 初始化启动完成

image.png

4.2 初始化密码在log中查找

先传统方式找一遍密码:

  1. kubectl logs -f jenkins-0 jenkins -n kube-ops

嗯密码不在log中的
image.png

4.3. 正确获取jenkins初始密码的方式secret

  1. printf $(kubectl get secret --namespace kube-ops jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo

5. traefik 代理jenkins应用

https://www.yuque.com/duiniwukenaihe/ehb02i/odflm7前文已经注明搭建与代理方式)
image.png
还是习惯ingressroute代理jenkins
cat jenkins-ingress.yaml

  1. apiVersion: traefik.containo.us/v1alpha1
  2. kind: IngressRoute
  3. metadata:
  4. namespace: kube-ops
  5. name: jenkins-http
  6. spec:
  7. entryPoints:
  8. - web
  9. routes:
  10. - match: Host(`jenkins.saynaihe.com`)
  11. kind: Rule
  12. services:
  13. - name: jenkins
  14. port: 8080

kubectl apply -f jenkins-ingress.yaml

6. web访问jenkins应用

6.1. 登陆jenkins web

image.png
what没有输入账号密码啊?也不整明白为什么初始化后第一次登陆不用密码就可以进入…….

6.2 更改安全设置,不允许用户匿名登陆

image.png
创建初始管理员用户
image.png

6.3 安装中文插件

image.png
OK开始安装插件吧,先安装中文插件,安装完重启….
image.png
中文插件安装完成。嗯到这里我个人设置的密码还是有效的……
image.png

6.4 安装一下helm 初始化过程中屏蔽的插件

然后吧helm中屏蔽掉的初始化插件手工安装一下?就手动先安装一下下面这四个插件。也是常用的kubernetes插件 .
image.png
等待完成后。重启jenkins应用
image.png

7. 彩蛋

嗯 重启后我的密码错误了…what

抱着试试的想法驶入了 上面4.3步骤中我获取的key好吧 进去了…..
image.png
这里就先简单记录应用的安装过程了,具体的jenkins libraries pipeline 和kubernetes spinnaker gitlab的集成等所有环境都搭建完了在一起写了。

8. 后记

jenkins又更新新的tls版本了,怎么玩呢……我是直接修改了value.yaml中jenkins的 image tag
image.png

  1. helm upgrade -f values.yaml jenkins jenkins/jenkins -n kube-ops