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