Apakah ini permintaan bantuan?
tidak
Kata kunci apa yang Anda cari di edisi Kubernetes sebelum mengajukan yang ini?
Apakah ini LAPORAN BUG atau PERMINTAAN FITUR? (Pilih satu):
Versi Kubernetes (gunakan kubectl version
): 1.3.6
Lingkungan :
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 LinuxApa 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 :
@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