Kubernetes: Mengutip YAML diperlukan saat tidak diperlukan

Dibuat pada 14 Sep 2016  ·  3Komentar  ·  Sumber: kubernetes/kubernetes

Apakah ini permintaan bantuan?

tidak

Kata kunci apa yang Anda cari di edisi Kubernetes sebelum mengajukan yang ini?

kutipan kutipan yaml

Apakah ini LAPORAN BUG atau PERMINTAAN FITUR? (Pilih satu):

Versi Kubernetes (gunakan kubectl version ): 1.3.6

Lingkungan :

  • Penyedia cloud atau konfigurasi perangkat keras : GCE
  • OS (mis. dari /etc/os-release): Alpine Linux 3.4.0
  • Kernel (misalnya 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
  • Instal alat : apk
  • Lainnya :

Apa yang terjadi : Saat membuat rahasia/configmaps, tampaknya cukup acak ketika nilai diharapkan dikelilingi oleh tanda kutip atau tidak. Terkadang berupa angka, terkadang berupa string, dan tidak selalu karena diawali dengan karakter yang tidak standar.

Kami menggunakan NodeJS untuk menghasilkan konfigurasi kami, dan (mengejutkan) tidak ada perpustakaan yang memiliki dukungan untuk memaksa tanda kutip di sekitar nilai, dan menghasilkan YAML yang valid untuk semua kasus penggunaan kami yang lain. Kami menggunakan beberapa 'sed' /magic/ yang dibuat setelahnya untuk menambahkan tanda kutip, tetapi ini tidak ideal.

Mungkinkah validasi YAML yang digunakan kubectl terlalu ketat/rusak saat membutuhkan nilai untuk dikutip atau tidak?

Apa yang Anda harapkan terjadi : Agar tidak perlu menambahkan kutipan secara manual setelah menggunakan generator YAML yang valid

Cara memperbanyaknya (seminimal dan setepat mungkin):
inilah nilai configmap yang membutuhkan kutipan

dbconnectiontimeout: '60'

atau

remoteip: 'beberapa-host-di sini'

Ada lagi yang perlu kita ketahui :

arekubectl siapi-machinery

Semua 3 komentar

@theothermike hai, ini sepertinya masalah yang diketahui dan sepertinya tidak ada perbaikan nyata untuk itu. yaitu Anda harus menentukan jenis dengan benar .. Saya sarankan untuk melihat diskusi di sini https://github.com/kubernetes/kubernetes/issues/2763 Banyak komentar bagus dari @liggitt Ini adalah masalah serupa yang dilaporkan dan ditutup https:/ /github.com/kubernetes/kubernetes/issues/28974 Jika Anda @liggitt masuk akal?

Saya dapat menggunakan angka tanpa mengutip dengan mengawali nilai dengan !!integer . Tetapi !!int tidak berfungsi. (Menggunakan Kubernetes 1.8)

Mantan:

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

Setuju dengan spzala, tipe harus ditentukan dengan benar sebagai string. Yaml hanya membutuhkan angka dan nilai boolean untuk dikutip (nilai alfa disimpulkan sebagai string), tetapi Anda dapat mengutip semua nilai data configmap jika itu membuatnya lebih mudah

Apakah halaman ini membantu?
0 / 5 - 0 peringkat