Your Kubernetes control-plane has initialized successfully! To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
查看节点状态和 pod 都已经正常
1 2 3 4 5 6 7 8 9 10 11 12
root@jenkins:~ # kubectl get pod -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-f9fd979d6-9t6qp 1/1 Running 0 89s kube-system coredns-f9fd979d6-hntm8 1/1 Running 0 89s kube-system etcd-jenkins 1/1 Running 0 106s kube-system kube-apiserver-jenkins 1/1 Running 0 106s kube-system kube-controller-manager-jenkins 1/1 Running 0 106s kube-system kube-proxy-8pzkz 1/1 Running 0 89s kube-system kube-scheduler-jenkins 1/1 Running 0 106s root@jenkins:~ # kubectl get node NAME STATUS ROLES AGE VERSION jenkins Ready master 119s v1.19.8
去除 master 节点上的污点,允许其他的 pod 调度在 master 节点上,不然后面 Jenkins 所创建的 pod 将无法调度在该节点上。
使用 docker-compose up 来启动,成功启动后会有如下提示,日志输出的密钥就是 admin 用户的默认密码,使用它来第一次登录 Jenkins。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
jenkins | 2021-03-06 02:22:31.741+0000 [id=41] INFO jenkins.install.SetupWizard#init: jenkins | jenkins | ************************************************************* jenkins | ************************************************************* jenkins | ************************************************************* jenkins | jenkins | Jenkins initial setup is required. An admin user has been created and a password generated. jenkins | Please use the following password to proceed to installation: jenkins | jenkins | 4c2361968cd94323acdde17f7603d8e1 jenkins | jenkins | This may also be found at: /var/jenkins_home/secrets/initialAdminPassword jenkins | jenkins | ************************************************************* jenkins | ************************************************************* jenkins | *************************************************************
登录上去之后,建议选择 选择插件来安装,尽可能少地安装插件,按需安装即可。
在 Jenkins 的插件管理那里安装上 kubernetes 插件
接下来开始配置 Jenkins 大叔如何与 kubernetes 船长手牵手🧑🤝🧑 :-)。配置 kubernets 的地方是在 系统管理 > 节点管理 > Configure Clouds。点击 Add a new cloud,来添加一个 kubernetes 集群。
点击连接测试,如果提示 Connected to Kubernetes v1.19.8 就说明已经成功连接上了 kubernetes 集群。
关于 pod 模板
其实就是配置 Jenkins Slave 运行的 Pod 模板,个人不太建议使用插件中的模板去配置,推荐将 pod 的模板放在 Jenkinsfile 中,因为这些配置与我们的流水线紧密相关,把 pod 的配置存储在 Jenkins 的插件里实在是不太方便;不方便后续的迁移备份之类的工作;后续插件升级后这些配置也可能会丢失。因此建议将 pod 模板的配置直接定义在 Jenkinsfile 中,灵活性更高一些,不会受 Jenkins 插件升级的影响。总之用代码去管理这些 pod 配置维护成本将会少很多。