Kubernetes 与版本 "extensions/v1beta1" 中的种类 "Deployment" 不匹配
Kubernetes no matches for kind "Deployment" in version "extensions/v1beta1"
我正在尝试使用 Jenkins 在 Kubernetes 中部署下一个前端-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"
如果我 运行 kubectl apply -f IKonnekt/frontend-deployment.yaml
来自 Kubernetes 集群内的一台机器,它工作正常。
Kubernetes Client Version: 1.12.1
Kubernetes Server Version: 1.11.0
这是我的前端-deployment.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
我的问题是因为在 Jenkinsfile 中我使用的是 Kubernetes 仪表板 URL 而不是 Kubernetes API URL,所以 Jenkins 的 kubectl 无法识别 kubernetes 服务器.
最后,使用 API URL 并更新它对我有用的 apiVersion。
只需将 apiVersion 更改为:apiVersion: apps/v1
我正在尝试使用 Jenkins 在 Kubernetes 中部署下一个前端-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"
如果我 运行 kubectl apply -f IKonnekt/frontend-deployment.yaml
来自 Kubernetes 集群内的一台机器,它工作正常。
Kubernetes Client Version: 1.12.1
Kubernetes Server Version: 1.11.0
这是我的前端-deployment.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
我的问题是因为在 Jenkinsfile 中我使用的是 Kubernetes 仪表板 URL 而不是 Kubernetes API URL,所以 Jenkins 的 kubectl 无法识别 kubernetes 服务器.
最后,使用 API URL 并更新它对我有用的 apiVersion。
只需将 apiVersion 更改为:apiVersion: apps/v1