La commande Kubectl renvoie toujours cette erreur yaml: ligne 2: les valeurs de mappage ne sont pas autorisées dans ce contexte. Même quand j'appelle la commande de version normale, la commande de configuration, etc.
tessact@tessact-sys-1:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"4",
GitVersion:"v1.4.4",
GitCommit:"3b417cc4ccd1b8f38ff9ec96bb50a81ca0ea9d56",
GitTreeState:"clean", BuildDate:"2016-10-21T02:48:38Z",
GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/AMD64"}
error: yaml: line 2: mapping values are not allowed in this context
tessact@tessact-sys-1:~/[some path]$ kubectl create -f kubernetes_configs/frontend.yaml
error: yaml: line 2: mapping values are not allowed in this context
Le seul fichier yaml que j'ai utilisé est
apiVersion: v1
kind: ReplicationController
metadata:
name: frontend
labels:
name: frontend
spec:
replicas: 3
template:
metadata:
labels:
name: frontend
spec:
containers:
- name: trigger
# Replace with your project ID or use `make template`
image: asia.gcr.io/trigger-backend/trigger-backend
# This setting makes nodes pull the docker image every time before
# starting the pod. This is useful when debugging, but should be turned
# off in production.
imagePullPolicy: Always
ports:
- containerPort: 8080
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
name: frontend
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 8080
selector:
name: frontend
Quoi que j'essaye avec kubectl , cette erreur est retournée. Que dois-je faire pour résoudre ce problème?
> tessact@tessact-sys-1:~/developer/trigger-backend-dev/trigger-backend$
> kubectl get service error: yaml: line 2: mapping values are not
> allowed in this context
Sortie de:
strace kubectl version
est ici
Le fait que la commande de version génère déjà une erreur indique qu’un fichier YAML par défaut est chargé.
Vous pouvez utiliser strace kubectl version
pour voir quel fichier a été ouvert. Espérons que cela se fasse juste avant que kubectl
lève l'erreur. Je suppose qu'il y a une configuration globale qu'il lit (ou un fichier par défaut dans votre répertoire actuel).
Il est bien sûr que la programmation bâclée dans kubernetes ne permet pas d’attraper une telle erreur, d’afficher le nom du fichier, puis de la relancer.
Puisque vous obtenez l'erreur même après avoir exécuté kubectl version
, je dirais que vous avez une erreur de syntaxe yaml dans votre fichier kubeconfig, situé à ~/.kube/config
par défaut.
Vous pouvez valider son contenu en utilisant un validateur yaml tel que celui-ci .
La plupart du temps, quand vous obtenez une erreur comme celle-ci (en termes généraux et significatifs), c'est soit à cause de: -
1). Une erreur de syntaxe (dans votre cas, ce n'est pas le cas) dans le fichier yaml.
2) Ou comme l’erreur dit "les valeurs de mappage ne sont pas autorisées dans ce contexte". Cela signifie que les clés/valeurs que vous avez utilisées dans yaml peuvent être syntaxiquement correctes mais pas sémantiques.