jenkins - 如何集成 Amazon EKS 和 Jenkins
问题描述
我目前在 Jenkins 中使用 Kubernetes 客户端插件,但配置起来仍然令人困惑,因为它会查找 Kubernetes 配置,即使我在凭证部分配置了这些凭证,它们也不可用。
请参阅下面的屏幕截图,了解我在 Jenkins 中配置的凭据。
当我尝试从 Jenkins 端添加这些凭据时,这些凭据未在 Kubernetes 凭据下列出。红色没有我的凭据清单。
如何在 Jenkins 中配置这个 Kubernetes 插件?或任何其他配置 Jenkins + Amazon EKS 的替代方法?
谢谢。
插件:https ://wiki.jenkins.io/display/JENKINS/Kubernetes+Plugin
解决方案
为了重现您的问题,我使用Deploying a Kubernetes Cluster with Amazon EKS 一文安装了 EKS。
添加工作节点后,执行以下步骤:
1)安装头盔
2) 从 stable/jenkins chart 安装 jenkins。
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller
helm search jenkins
helm install stable/jenkins --name myjenkins
If you want to change any parameters before deploying helm chart, you can first download and edit values.
helm inspect values stable/jenkins > /tmp/jenkins.values
helm install stable/jenkins --values /tmp/stable_jenkins.values --name myjenkins
等到一切都部署完毕,您可以通过以下方式检查watch kubectl get all --all-namespaces
kubectl get all --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod/myjenkins-c9bc6bbbc-hvdzg 1/1 Running 0 19m
kube-system pod/aws-node-5swq5 1/1 Running 0 21m
kube-system pod/aws-node-h5vl7 1/1 Running 0 20m
kube-system pod/aws-node-ttkgn 1/1 Running 0 21m
kube-system pod/coredns-7fb855c998-7lglx 1/1 Running 0 48m
kube-system pod/coredns-7fb855c998-h7stl 1/1 Running 0 48m
kube-system pod/kube-proxy-drvc2 1/1 Running 0 21m
kube-system pod/kube-proxy-gfwh8 1/1 Running 0 20m
kube-system pod/kube-proxy-kscm8 1/1 Running 0 21m
kube-system pod/tiller-deploy-5d6cc99fc-7mv88 1/1 Running 0 45m
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default service/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 48m
default service/myjenkins LoadBalancer 10.100.9.131 ***********************************-*******.eu-west-1.elb.amazonaws.com 8080:30878/TCP 19m
default service/myjenkins-agent ClusterIP 10.100.28.95 <none> 50000/TCP 19m
kube-system service/kube-dns ClusterIP 10.100.0.10 <none> 53/UDP,53/TCP 48m
kube-system service/tiller-deploy ClusterIP 10.100.250.226 <none> 44134/TCP 45m
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
kube-system daemonset.apps/aws-node 3 3 3 3 3 <none> 48m
kube-system daemonset.apps/kube-proxy 3 3 3 3 3 <none> 48m
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
default deployment.apps/myjenkins 1/1 1 1 19m
kube-system deployment.apps/coredns 2/2 2 2 48m
kube-system deployment.apps/tiller-deploy 1/1 1 1 45m
NAMESPACE NAME DESIRED CURRENT READY AGE
default replicaset.apps/myjenkins-c9bc6bbbc 1 1 1 19m
kube-system replicaset.apps/coredns-7fb855c998 2 2 2 48m
kube-system replicaset.apps/tiller-deploy-5d6cc99fc 1 1 1 45m
下一个
1. Get your 'admin' user password by running:
printf $(kubectl get secret --namespace default myjenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo
2. Get the Jenkins URL to visit by running these commands in the same shell:
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc --namespace default -w myjenkins'
export SERVICE_IP=$(kubectl get svc --namespace default myjenkins --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
echo http://$SERVICE_IP:8080/login
3. Login with the password from step 1 and the username: admin
打开浏览器,登录并转到“管理 Jenkins”-->“配置系统”--> 云部分
点击添加 - 詹金斯
-再次检查“管理Jenkins”-->“配置系统”-->云部分
希望能帮助到你...
推荐阅读
- azure - 通过 createdDateTime 使用图形 API 提取 azure AD 用户
- c# - 使用位于可执行文件父目录中的程序集
- excel-formula - 根据每周工作日延长时间
- php - 如何使用 PHP 观看 Google 日历推送通知频道
- r - 删除基于R中“字符”类型的两列的重复行
- c# - 尝试使用 .Net Core 中的值转换器将模型中的 long 转换为具有多个字段的对象
- keras - keras inceptionv3 预训练模型转换为顺序模型?
- node.js - pm2 在树莓派上失败
- c# - 移除有错误的元素时,不会引发 Validation.ErrorEvent
- python-3.x - 如何在 Python 中为 ** data.set_index ** 添加图例?