【发布时间】:2018-10-18 15:40:36
【问题描述】:
我正在尝试使用 Jenkins 在 Kubernetes 中部署下一个 frontend-deployment.yaml,但出现下一个错误:
[frontend] Running shell script
+ kubectl apply -f IKonnekt/frontend-deployment.yaml
error: unable to recognize "IKonnekt/frontend-deployment.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"
如果我在 Kubernetes 集群内的机器上运行 kubectl apply -f IKonnekt/frontend-deployment.yaml,它可以正常工作。
Kubernetes Client Version: 1.12.1
Kubernetes Server Version: 1.11.0
这是我的前端部署.yaml:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ikonnekt-frontend-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: ikonnekt-frontend
spec:
containers:
- name: ikonnekt-frontend
image: ikonnektfrontend
imagePullPolicy: Always
env:
- name: REACT_APP_API
value: "http://IP:Port"
- name: REACT_APP_AUTH_ENDPOINT
value: "http://IP:Port/auth"
ports:
- containerPort: 80
imagePullSecrets:
- name: regcred
【问题讨论】:
-
看起来很奇怪:
extensions/v1beta1应该还在 1.11 中 Jenkins 中的kubectl版本是什么? -
Rico 绝对正确 :) 检查 Jenkins 中安装的 kubectl 版本
-
@Rico Jenkins 的 kubectl 客户端版本是 1.12.1。与集群中的节点相同。并且集群中的节点可以正确部署,但是使用 Jenkins 节点会失败。
-
@DenisA。 Jenkins kubectl 客户端版本为 1.12.1。
-
终于对我有用了...问题是在 Jenkinsfile 中我使用的是仪表板 URL 而不是 kubernetes api URL。
标签: jenkins kubernetes kubectl