kubernetes实战(十五):k8s使用helm持久化部署jenkins集成openLDAP登录
2018-12-06 19:15
1291 查看
1、基本概念
Jenkins在DevOps工具链中是核心的流程管理中心,负责串联系统的构建流程、测试流程、镜像制作流程、部署流程等,在持续集成中常用到的工具如下:
Maven:源代码编译工具
RobotFramework:自动化测试工具
NewMan:接口自动化测试工具
SonarQube Scanner:源代码扫描工具
GitLab:代码仓库工具
Docker:镜像制作工具
kubectl:K8S工具
公司目前使用的流程是通过Redmine和GitLab中创建项目、开发提交代码、触发jenkins完成镜像构建并自动部署到k8s集群。
2、部署
[root@k8s-master01 jenkins]# git clone https://github.com/dotbalo/helm.git
[root@k8s-master01 ~]# cd helm/jenkins
[root@k8s-master01 jenkins]# helm install --name jenkins . --namespace public-service NAME: jenkins LAST DEPLOYED: Tue Dec 4 14:55:24 2018 NAMESPACE: public-service STATUS: DEPLOYED RESOURCES: ==> v1/Secret NAME AGE jenkins 0s ==> v1/ConfigMap jenkins 0s jenkins-tests 0s ==> v1/PersistentVolumeClaim jenkins 0s ==> v1/Service jenkins-agent 0s jenkins 0s ==> v1beta1/Deployment jenkins 0s ==> v1/Pod(related) NAME READY STATUS RESTARTS AGE jenkins-5b6c648956-zds2p 0/1 Pending 0 0s NOTES: 1. Get your 'admin' user password by running: printf $(kubectl get secret --namespace public-service jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo 2. Get the Jenkins URL to visit by running these commands in the same shell: export POD_NAME=$(kubectl get pods --namespace public-service -l "component=jenkins-master" -o jsonpath="{.items[0].metadata.name}") echo http://127.0.0.1:8080 kubectl port-forward $POD_NAME 8080:8080 3. Login with the password from step 1 and the username: admin For more information on running Jenkins on Kubernetes, visit: https://cloud.google.com/solutions/jenkins-on-container-engine
创建ingress
[root@k8s-master01 jenkins]# kubectl create -f traefik-jenkins.yaml ingress.extensions/jenkins created
3、查看状态
[root@k8s-master01 ~]# kubectl get po,svc,ingress,pvc -n public-service | grep jenkins pod/jenkins-5b6c648956-zds2p 1/1 Running 5 44h service/glusterfs-dynamic-jenkins ClusterIP 10.111.100.114 <none> 1/TCP 44h service/jenkins ClusterIP 10.107.215.94 <none> 8080/TCP 44h service/jenkins-agent ClusterIP 10.103.212.222 <none> 50000/TCP 44h ingress.extensions/jenkins jenkins.xxx.net 80 3m26s persistentvolumeclaim/jenkins Bound pvc-953c3093-f791-11e8-9640-000c298bf023 20Gi RWX gluster-heketi-2 44h
4、访问测试
查看密码
[root@k8s-master01 ~]# kubectl get secret --namespace public-service jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode 9jni0dNNY9
登录:admin/9jni0dNNY9
5、配置LDAP登录
系统管理 -- 插件管理
建立openLDAP组织架构如下
ou=People对应的用户的组为ou=jenkins,ou=Groups里面的组
系统管理 -- 全局安全配置
配置如下
配置完LDAP登陆以后,本地认证就会失效,所以提前配置好权限也可,上述权限按需修改。
另外,本人对openLDAP filter语法不太熟,配置邮箱登录的时候无法获取对应的组,所以采用了uid登录,如有openLDAP大神还请指教。
验证权限,登录jenkins-dev组的用户
无法管理jenkins
相关文章推荐
- kubernetes实战(十三):k8s使用helm持久化部署harbor集成openLDAP登录
- kubernetes实战(十二):k8s使用helm持久化部署redmine集成openLDAP
- kubernetes实战(十四):k8s持久化部署gitlab集成openLDAP登录
- kubernetes实战(十):k8s使用Helm安装harbor
- kubernetes实战(十一):k8s使用openLDAP统一认证
- kubernetes实战(十):k8s使用Helm安装harbor
- 使用Helm 在容器服务k8s集群一键部署wordpress
- 使用Helm charts在Kubernetes 1.4 MongoDB上部署
- Kubernetes(二) - 使用Rancher部署K8S集群(搭建Rancher)
- 使用Helm部署Prometheus和Grafana监控Kubernetes
- 使用Helm 在容器服务k8s集群一键部署wordpress
- 使用GitLab、Jenkins、Docker建立快速持续化集成交付部署方案
- [原]Linux环境-Jenkins实战-分布式构建-自动化持续集成-自动化部署-gitlab-svn-shell启动tomcat
- 使用Helm 在容器服务k8s集群一键部署wordpress
- Kubernetes(三) - 使用Rancher部署K8S集群(搭建Kubernetes)
- 使用Jenkins持续集成JavaWeb项目(War包部署方式)
- kubernetes实战(九):k8s集群动态存储管理GlusterFS及使用Heketi扩容GlusterFS集群
- Jenkins的部署及使用教程(插件集成sonar服务,构建过程做代码分析)
- 使用Helm 在容器服务k8s集群一键部署wordpress