gpt4 book ai didi

docker - 在GCE上通过jenkins作业尝试时无法部署k8s pod

转载 作者:行者123 更新时间:2023-12-02 12:08:20 26 4
gpt4 key购买 nike

我在Google容器引擎中创建了一个cluster,并在其中部署了一个运行了 Jenkins 的Pod。然后配置一项工作,即可构建,运行,推送和部署sample应用。因此由于以下错误,所有这些工作步骤都在执行,但“deploy-sampleapp-step”除外
[sampleapp_master-HAWDXNK5BCRQ7EWPPOHGW7RUWBBM25WIAIKOP6UBHIDYZGTMQIJA] Running shell script

+ kubectl --namespace=production apply -f k8s/services/
error: group map[:0xc820374b60 apps:0xc820374bd0 authorization.k8s.io:0xc820374c40 componentconfig:0xc820374d90 extensions:0xc820374e00 policy:0xc820374e70 storage.k8s.io:0xc8202cc770 federation:0xc820374af0 autoscaling:0xc820374cb0 batch:0xc820374d20 rbac.authorization.k8s.io:0xc820374ee0 authentication.k8s.io:0xc820374fc0] is already registered

所以我正在使用集群版本1.6.4

有人知道如何升级这个问题吗
提前致谢
添加一些可能对上述问题有用的信息-

user@yproject-173008:~$ kubectl cluster-info
Kubernetes master is running at https://IP GLBCDefaultBackend is running at https://IP/api/v1/proxy/namespaces/kube-system/services/default-http-backend
Heapster is running at https://IP/api/v1/proxy/namespaces/kube-system/services/heapster
KubeDNS is running at https://IP/api/v1/proxy/namespaces/kube-system/services/kube-dns
kubernetes-dashboard is running at
https://IP/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

user@yproject-173008:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.6", GitCommit:"7fa1c1756d8bc963f1a389f4a6937dc71f08ada2", GitTreeState:"clean", BuildDate:"2017-06-16T18:34:20Z", GoVersion:"go1.7.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.4", GitCommit:"d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae", GitTreeState:"clean", BuildDate:"2017-05-19T18:33:17Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}

最佳答案

您收到此错误是因为kubeAPI的版本和kubectl的版本不同。要获取版本,请编辑构建目录中存在的Jenkins文件,以打印执行作业时在jenkins从属环境中使用的kubectl客户端的版本。就我而言,它位于/continuous-deployment-on-kubernetes/sample-app/Jenkinsfile。添加以下行-

sh("kubectl version")



这将打印jenkins slave使用的kubectl版本。

我发现它是 GitVersion:"v1.3.4"。如果是这种情况,请执行以下步骤-

1.生成jenkins从属dockerfile
->创建具有以下内容的Dockerfile-

FROM jenkinsci/jnlp-slave
ENV CLOUDSDK_CORE_DISABLE_PROMPTS 1
ENV PATH /opt/google-cloud-sdk/bin:$PATH
USER root
RUN apt-get update -y
RUN apt-get install -y jq
RUN curl https://sdk.cloud.google.com | bash && mv google-cloud-sdk /opt
COPY kubectl /opt/google-cloud-sdk/bin/
RUN chmod +x /opt/google-cloud-sdk/bin/kubectl



->下载与您的kube-cluster兼容的kubectl二进制文件。或将二进制文件存在于您的kube-cluster中,并将其放置在此目录中。
->构建镜像并将其推送到注册表。

docker build -t IMAGE_NAME .
gcloud docker -- push IMAGE_NAME



2.编辑jenkins配置以将此镜像用作从属。
转到Jenkins->管理Jenkins->配置系统。
向下滚动到云。
选择Kubernetes。转到图像->容器-> Docker图像。
输入您在步骤1中推送的图像名称。
点击保存。
3.开始工作。

关于docker - 在GCE上通过jenkins作业尝试时无法部署k8s pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com