Kubernetes 1.16 - cara memutakhirkan dan tidak merusak apa pun



Hari ini, 18 September, versi Kubernetes berikutnya dirilis - 1.16. Seperti biasa, kami akan menemukan banyak peningkatan dan produk baru. Tapi saya ingin menarik perhatian Anda ke bagian file yang Diperlukan Tindakan CHANGELOG-1.16.md . Bagian-bagian ini mempublikasikan perubahan yang dapat merusak aplikasi Anda, alat pemeliharaan cluster, atau membutuhkan perubahan pada file konfigurasi.

Secara umum, mereka memerlukan intervensi manual ...

Mari kita mulai segera dengan perubahan yang kemungkinan akan memengaruhi semua orang yang telah bekerja dengan kubernet untuk beberapa waktu. API Kubernetes telah berhenti mendukung versi lama API sumber daya.

Jika ada yang tidak tahu, atau lupa ...
Versi API sumber daya ditunjukkan dalam manifes di bidang apiVersion: apps/v1

Yaitu:
Jenis sumber dayaVersi lamaApa yang harus diganti
Semua sumber dayaapps / v1beta1
apps / v1beta2
apps / v1
penyebaran
daemonset
replika
ekstensi / v1beta1apps / v1
kebijakan jaringanekstensi / v1beta1networking.k8s.io/v1
kebijakan podsecurityekstensi / v1beta1kebijakan / v1beta1
Saya juga ingin mencatat bahwa untuk objek seperti Ingress apiVersion juga apiVersion berubah menjadi networking.k8s.io/v1beta1 . Nilai extensions/v1beta1 lama masih didukung, tetapi ada alasan bagus untuk memperbarui versi ini dalam manifes secara bersamaan.

Ada banyak perubahan di berbagai label sistem (label Node) yang diinstal pada node.

Kubelet dilarang untuk membuat label sembarang (sebelum mereka dapat diatur melalui kunci peluncuran kubelet --node-labels ), mereka hanya meninggalkan daftar yang diizinkan ini :

 kubernetes.io/hostname kubernetes.io/instance-type kubernetes.io/os kubernetes.io/arch beta.kubernetes.io/instance-type beta.kubernetes.io/os beta.kubernetes.io/arch failure-domain.beta.kubernetes.io/zone failure-domain.beta.kubernetes.io/region failure-domain.kubernetes.io/zone failure-domain.kubernetes.io/region [*.]kubelet.kubernetes.io/* [*.]node.kubernetes.io/* 

Label beta.kubernetes.io/metadata-proxy-ready , beta.kubernetes.io/masq-agent-ds-ready dan beta.kubernetes.io/kube-proxy-ds-ready tidak lagi ditambahkan ke node baru, dan berbagai tambahan lainnya komponen mulai menggunakan label yang sedikit berbeda sebagai pemilih simpul:
KomponenLabel lamaTag saat ini
kubus-proxybeta.kubernetes.io/kube-proxy-ds-readynode.kubernetes.io/kube-proxy-ds-ready
agen ip-maskbeta.kubernetes.io/masq-agent-ds-readynode.kubernetes.io/masq-agent-ds-ready
metadata-proxybeta.kubernetes.io/metadata-proxy-readycloud.google.com/metadata-proxy-ready
kubeadm sekarang menghapus file konfigurasi awal bootstrap-kubelet.conf Jika alat Anda mengakses file ini, maka beralihlah ke menggunakan kubelet.conf , yang menyimpan pengaturan akses saat ini.

Cadvisor tidak lagi memberikan metrik pod_name dan container_name , jika Anda menggunakannya di Prometheus, buka masing-masing metrik pod dan container .

Kunci telah dihapus dengan baris perintah:
KomponenKunci dihapus
hyperkube--membuat-symlink
kubus-proxy- Sumber daya-wadah
Sheduler mulai menggunakan API Acara versi v1beta1. Jika Anda menggunakan alat pihak ketiga untuk berinteraksi dengan API Acara, beralihlah ke versi saat ini.

Saat humor. Dalam proses mempersiapkan rilis 1.16, perubahan berikut dibuat:

  • menghapus scheduler.alpha.kubernetes.io/critical-pod dalam versi v1.16.0-alpha.1
  • mengembalikan scheduler.alpha.kubernetes.io/critical-pod anotasi.alpha.kubernetes.io/critical-pod dalam versi v1.16.0-alpha.2
  • menghapus scheduler.alpha.kubernetes.io/critical-pod dalam versi v1.16.0-beta.1

Gunakan bidang spec.priorityClassName untuk menunjukkan pentingnya perapian.

Source: https://habr.com/ru/post/id467883/


All Articles