我正在尝试使用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
这是我的frontend-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
答案 0 :(得分:10)
只需将 apiVersion 更改为此:apiVersion: apps/v1
答案 1 :(得分:0)
我的问题是因为我在Jenkinsfile中使用的是Kubernetes仪表板URL,而不是Kubernetes API URL,因此Jenkins的kubectl无法识别kubernetes服务器。
最后,使用API URL并更新apiVersion,它对我有用。