Kubernetes: YAML cité requis quand aucun n'est nécessaire

Créé le 14 sept. 2016  ·  3Commentaires  ·  Source: kubernetes/kubernetes

Est-ce une demande d'aide ?

non

Quels mots-clés avez-vous recherchés dans les problèmes Kubernetes avant de déposer celui-ci ?

citations de citation de yaml

S'agit-il d'un rapport de bogue ou d'une demande de fonctionnalité ? (choisissez-en un):

Version Kubernetes (utilisez kubectl version ): 1.3.6

Environnement :

  • Fournisseur cloud ou configuration matérielle : GCE
  • Système d'exploitation (par exemple depuis /etc/os-release) : Alpine Linux 3.4.0
  • Noyau (par exemple uname -a ): Linux kash-api-4080102595-t21vs 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 Linux
  • Outils d'installation : apk
  • Autres :

Que s'est-il passé : lors de la création de secrets/configmaps, il semble assez aléatoire que les valeurs soient ou non entourées de guillemets. Parfois, ce sont des nombres, d'autres fois c'est une chaîne, et pas toujours à cause de commencer par des caractères non standard.

Nous utilisons NodeJS pour générer nos configurations et (étonnamment) aucune des bibliothèques ne prend en charge le forçage des guillemets autour des valeurs et génère un YAML valide pour tous nos autres cas d'utilisation. Nous avons recours à des "sed" /magic/ post-générés pour ajouter les guillemets, mais ce n'est pas idéal.

Est-il possible que la validation YAML utilisée par kubectl soit trop stricte/cassée lorsqu'il exige ou non que les valeurs soient citées ?

Ce à quoi vous vous attendiez : ne pas avoir besoin d'ajouter manuellement des guillemets après avoir utilisé un générateur YAML valide

Comment le reproduire (le plus minimement et le plus précisément possible) :
voici une valeur de configmap qui nécessite de citer

dbconnectiontimeout : '60'

ou

remoteip: 'quelque-hôte-ici'

Autre chose que nous devons savoir :

arekubectl siapi-machinery

Tous les 3 commentaires

@theothermike salut, cela semble être un problème connu et il ne semble pas qu'il y ait de véritable solution à ce problème. c'est-à-dire que vous devez spécifier le type correctement .. Je suggérerais de regarder la discussion ici https://github.com/kubernetes/kubernetes/issues/2763 Beaucoup de bons commentaires de @liggitt C'était un autre problème similaire signalé et fermé https :/ /github.com/kubernetes/kubernetes/issues/28974 Si vous êtes d'accord, nous devrions fermer ce problème. Merci! @liggitt a du sens ?

Je suis capable d'utiliser des nombres sans citer en préfixant les valeurs avec !!integer . Mais !!int ne fonctionne pas. (En utilisant Kubernetes 1.8)

Ex:

apiVersion: v1
kind: ConfigMap
metadata:
 name: identity-config
data:
  TC_HOST: 192.168.1.10
  TC_PORT: !!integer 8080

D'accord avec spzala, le type doit être spécifié correctement sous forme de chaîne. Yaml ne nécessite que des valeurs numériques et booléennes (les valeurs alpha sont supposées être des chaînes), mais vous pouvez citer toutes les valeurs de données configmap si cela facilite les choses

Cette page vous a été utile?
0 / 5 - 0 notes