1 创建一个新的 namespace。此处不需要 sidecar 自动注入。
apiVersion: v1 kind: Namespace metadata: name: cicd spec: finalizers: - kubernetes2 创建 Deployment 部署 jenkins 应用。下面的脚本没有绑定 volume,实际使用的时候可能需要较大空间,建议绑定额外的存储磁盘 -v jenkins_home:/var/jenkins_home。参考官方容器说明:https://github.com/jenkinsci/docker/blob/master/README.md
apiVersion: apps/v1 kind: Deployment metadata: name: jenkins namespace: cicd labels: app: jenkins version: v2.222.4 spec: replicas: 1 selector: matchLabels: app: jenkins version: v2.222.4 template: metadata: labels: app: jenkins version: v2.222.4 spec: containers: - name: jenkins image: jenkins/jenkins:2.222.4-alpine ports: - containerPort: 8080 protocol: TCP - containerPort: 50000 protocol: TCP3 创建 Service,记得要放开 8080 和 50000 的访问端口。其中 50000 端口是内部代理端口,安装插件等操作都要使用此端口。
apiVersion: v1 kind: Service metadata: name: jenkins namespace: cicd labels: app: jenkins spec: ports: - port: 8080 name: http - port: 50000 name: agent selector: app: jenkins4 创建 ingress-gateway 开放外网访问,由于我的集群已经开通了 istio,所以直接使用了 istio 的ingress gateway
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: jenkins-gateway namespace: cicd spec: selector: istio: ingressgateway servers: - port: number: 8080 name: http protocol: HTTP hosts: - "*" --- apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: jenkins-gateway namespace: cicd spec: hosts: - "*" gateways: - jenkins-gateway http: - match: - uri: prefix: / route: - destination: host: jenkins port: number: 8080Jenkins 初始化现在访问 http://ip:8080,发现 Jenkins 启动了。
1 进入 pod 中,查看初始密码。
kubectl exec -it jenkins-769cdbbdfb-4fk9s -n cicd -- sh cat /var/jenkins_home/secrets/initialAdminPassword2 输入密码,选择安装插件进入下一步,我选择了推荐插件。等待若干分钟/小时,等他安装。
3 创建管理员用户。
待续....
---来自腾讯云社区的---啤酒云
微信扫一扫打赏
支付宝扫一扫打赏