Prenons cet exemple de carte de configuration
apiVersion: v1 kind: ConfigMap data: abc.yml: |- <yml here>
Obtenir une erreur comme l'échec de l'analyse de yaml vers Json.
3 Réponses :
Créez ConfigMap
à partir d'un fichier.
kubectl create configmap myconfig --from-file = youfile.yml
.
Vous pouvez consulter d'autres exemples sur documentation kubernetes a>
Ceux-ci pourraient être les problèmes 1. très probablement le problème pourrait avec l'indentation. 2. supprimez '-' de abc.yml: | - et vérifiez
J'ai suivi les étapes ci-dessous et j'ai pu charger le fichier yaml dans configmap. cela a bien fonctionné.
master $ kubectl get cm testcfg -oyaml apiVersion: v1 data: c.yaml: | apiVersion: v1 data: redis-config: | maxmemory 2mb maxmemory-policy allkeys-lru kind: ConfigMap metadata: name: example-redis-config kind: ConfigMap metadata: creationTimestamp: 2019-03-07T08:35:18Z name: testcfg namespace: default resourceVersion: "7520" selfLink: /api/v1/namespaces/default/configmaps/testcfg uid: f033536d-40b3-11e9-a67d-0242ac11005b
master $ kubectl create configmap testcfg --from-file=./c.yaml
master $ cat c.yaml apiVersion: v1 data: redis-config: | maxmemory 2mb maxmemory-policy allkeys-lru kind: ConfigMap metadata: name: example-redis-config
apiVersion: v1 type: données ConfigMap: abc.yml: | namespace: "a_namespace": development: <<: * defaults deployment >> default Comment faire en sorte que la carte de configuration lise les variables par défaut?
Veuillez indiquer clairement ce que vous essayez de réaliser exactement
Oui, vous pouvez le faire, mais vous devez vous soucier de la syntaxe. Vous pouvez également suivre les techniques pour yaml à partir de ici .
Si vous utilisez kubectl create configmap myconfig --from-file = abc.yml
, alors c'est ok.
Mais si vous écrivez le tout le fichier yaml pour votre configmap dans myconfig.yaml, puis exécutez kubectl create -f myconfig.yaml
, alors vous devriez vous soucier de la syntaxe.
Dites votre abc.yml
le fichier est le suivant:
apiVersion: v1 kind: ConfigMap data: abc.yml: | a: b: b1 c: c1 d: d1
Ensuite, écrivez votre fichier myconfig.yaml
:
a: b: b1 c: c1 d: d1
supprimez '-' de abc.yml: | - et essayez