J'essaye de déployer le prochain frontend-deployment.yaml dans Kubernetes en utilisant Jenkins, mais j'ai l'erreur suivante:
[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"
Si je lance kubectl apply -f IKonnekt/frontend-deployment.yaml
à partir d'une machine du cluster Kubernetes, cela fonctionne correctement.
Kubernetes Client Version: 1.12.1
Kubernetes Server Version: 1.11.0
Voici mon 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
Mon problème était dû au fait que, dans le fichier Jenkins, j'utilisais l'URL du tableau de bord Kubernetes au lieu de l'URL de l'API Kubernetes. Le kubectl de Jenkins ne pouvait donc pas reconnaître le serveur kubernetes.
Donc, finalement, en utilisant l'URL de l'API et en mettant à jour apiVersion, cela fonctionne pour moi.