初始环境
kubeadm 搭建kubenretes 1.20.5 集群如下
存储集成了腾讯云的cbs块存储
网络? traefik代理(纯http,证书都交给腾讯云负载均衡clb了)
准备集成规划一下cicd还是走一遍传统的jenkins github spinnaker这几样的集成了。先搭建下基础的环境。就从jenkins开始了
1. 再次重复一下helm3的安装
1. 下载helm应用程序
https://github.com/helm/helm/releases
现在最新版本 3.5.3吧? 找到对应系统平台的包下载
2. 安装helm
上传tar.gz包到服务器(我是master节点随机了都可以的)
tar zxvf helm-v3.5.3-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin/helm
ok helm 安装成功
2. jenkins的配置与安装
2.1. helm 添加jenkins仓库。并pull 下jenkins版本包
helm repo add jenkins https://charts.jenkins.io
helm pull jenkins/jenkins
#我的版本还是3.3.0其他版本也是同理
tar zxvf jenkins-3.3.0.tgz
2.2. 根据个人需求更改value.yaml
cd jenkins目录,将values.yaml安装个人需求改一下
个人就修改了clusterZone和默认存储使用了腾讯云的cbs.
3. helm安装jenkins到指定namespace
3.1. 正常的安装过程
kubectl create ns kube-ops
helm install -f values.yaml jenkins jenkins/jenkins -n kube-ops
3.2. 安装中int 下载插件等待时间过长的坑
下载插件很坑,等不了时间可以把value.yaml文件中安装插件的过程注释掉。
注释掉install的插件后面手动安装吧
我是直接注释掉然后删除helm部署程序重新来了一次。
helm delete jenkins -n kube-ops
helm install -f values.yaml jenkins jenkins/jenkins -n kube-ops
果然注释掉直接就启动了
4. 初始化后的一些事情
4.1. 等待pod 初始化启动完成
4.2 初始化密码在log中查找
先传统方式找一遍密码:
kubectl logs -f jenkins-0 jenkins -n kube-ops
嗯密码不在log中的
4.3. 正确获取jenkins初始密码的方式secret
printf $(kubectl get secret --namespace kube-ops jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo
5. traefik 代理jenkins应用
还是习惯ingressroute代理jenkins
cat jenkins-ingress.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
namespace: kube-ops
name: jenkins-http
spec:
entryPoints:
- web
routes:
- match: Host(`jenkins.saynaihe.com`)
kind: Rule
services:
- name: jenkins
port: 8080
kubectl apply -f jenkins-ingress.yaml
6. web访问jenkins应用
6.1. 登陆jenkins web
what没有输入账号密码啊?也不整明白为什么初始化后第一次登陆不用密码就可以进入…
6.2 更改安全设置,不允许用户匿名登陆
创建初始管理员用户
6.3 安装中文插件
OK开始安装插件吧,先安装中文插件,安装完重启…
中文插件安装完成。嗯到这里我个人设置的密码还是有效的…
6.4 安装一下helm 初始化过程中屏蔽的插件
然后吧helm中屏蔽掉的初始化插件手工安装一下?就手动先安装一下下面这四个插件。也是常用的kubernetes插件 .
等待完成后。重启jenkins应用
7. 彩蛋
嗯 重启后我的密码错误了…what
抱着试试的想法驶入了 上面4.3步骤中我获取的key好吧 进去了…
这里就先简单记录应用的安装过程了,具体的jenkins libraries pipeline 和kubernetes spinnaker gitlab的集成等所有环境都搭建完了在一起写了。