初始环境

kubeadm 搭建kubenretes 1.20.5 集群如下

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug


存储集成了腾讯云的cbs块存储

网络? traefik代理(纯http,证书都交给腾讯云负载均衡clb了)

准备集成规划一下cicd还是走一遍传统的jenkins github spinnaker这几样的集成了。先搭建下基础的环境。就从jenkins开始了

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

1. 下载helm应用程序

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

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

jenkins k8s插件bug k8s 安装jenkins_腾讯云_02

2. 安装helm

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

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

ok helm 安装成功

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug_03

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.

jenkins k8s插件bug k8s 安装jenkins_初始化_04

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug_05

3. helm安装jenkins到指定namespace

3.1. 正常的安装过程

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

jenkins k8s插件bug k8s 安装jenkins_腾讯云_06

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

下载插件很坑,等不了时间可以把value.yaml文件中安装插件的过程注释掉。

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug_07


注释掉install的插件后面手动安装吧

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug_08

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

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

果然注释掉直接就启动了

4. 初始化后的一些事情

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

jenkins k8s插件bug k8s 安装jenkins_初始化_09

4.2 初始化密码在log中查找

先传统方式找一遍密码:

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

嗯密码不在log中的

jenkins k8s插件bug k8s 安装jenkins_初始化_10

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

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

5. traefik 代理jenkins应用


jenkins k8s插件bug k8s 安装jenkins_初始化_11


还是习惯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

jenkins k8s插件bug k8s 安装jenkins_重启_12


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

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

jenkins k8s插件bug k8s 安装jenkins_腾讯云_13


创建初始管理员用户

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug_14

6.3 安装中文插件

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug_15


OK开始安装插件吧,先安装中文插件,安装完重启…

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug_16


中文插件安装完成。嗯到这里我个人设置的密码还是有效的…

jenkins k8s插件bug k8s 安装jenkins_重启_17

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

然后吧helm中屏蔽掉的初始化插件手工安装一下?就手动先安装一下下面这四个插件。也是常用的kubernetes插件 .

jenkins k8s插件bug k8s 安装jenkins_重启_18


等待完成后。重启jenkins应用

jenkins k8s插件bug k8s 安装jenkins_jenkins k8s插件bug_19

7. 彩蛋

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

抱着试试的想法驶入了 上面4.3步骤中我获取的key好吧 进去了…

jenkins k8s插件bug k8s 安装jenkins_初始化_20


这里就先简单记录应用的安装过程了,具体的jenkins libraries pipeline 和kubernetes spinnaker gitlab的集成等所有环境都搭建完了在一起写了。