今天,18 月 1.16 日,Kubernetes 的下一個版本發布了 - XNUMX。 一如既往,許多改進和新產品都等著我們。 但我想提請您注意該文件的“所需操作”部分
一般來說,它們需要手動幹預......
讓我們立即開始一項更改,該更改很可能會影響每個長期使用 kubernetes 的人。 Kubernetes API 不再支援舊資源 API 版本。
如果有人不知道或忘記了...資源的 API 版本在清單中的欄位中指示 apiVersion: apps/v1
亦即
資源類型
舊版
應該用什麼代替
所有資源
應用程式/v1beta1
應用程式/v1beta2
應用程式/v1
部署
守護程式集
複製集
擴充/v1beta1
應用程式/v1
網路政策
擴充/v1beta1
網路.k8s.io/v1
Pod 安全策略
擴充/v1beta1
政策/v1beta1
我還想提請您注意以下事實:類型的對象 Ingress
也改變了 apiVersion
上 networking.k8s.io/v1beta1
。 舊義 extensions/v1beta1
仍然受支持,但有充分的理由在清單中同時更新此版本。
節點上安裝的各種系統標籤(節點標籤)有相當多的變化。
Kubelet 被禁止設定任意標籤(以前可以透過啟動鍵設定 kubelet --node-labels
),他們只留下了這個列表
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/*
標籤 beta.kubernetes.io/metadata-proxy-ready
, beta.kubernetes.io/metadata-proxy-ready 和beta.kubernetes.io/kube-proxy-ds-ready 不再添加到新節點中,並且各種附加元件已開始使用略有不同的標籤作為節點選擇器:
部件
舊標籤
目前標籤
kube-代理
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready
IP 遮罩代理
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready
元數據代理
beta.kubernetes.io/元資料代理就緒
cloud.google.com/metadata-proxy-ready
kubeadm 現在刪除其後面的初始 kublet 設定文件 bootstrap-kubelet.conf
。 如果您的工具正在存取此文件,則切換到使用 kubelet.conf
,它儲存當前的存取設定。
Cadvisor 不再提供指標 pod_name
и container_name
如果您在 Prometheus 中使用過它們,請前往指標 pod
и container
分別
使用 line 指令刪除鍵:
部件
縮回鑰匙
超級庫貝
--make-符號鏈接
kube-代理
--資源容器
調度程序開始使用事件 API v1beta1 版本。 如果您使用第三方工具與Event API交互,請切換到最新版本。
幽默的一刻。 在 1.16 版本的準備過程中,進行了以下更改:
- 刪除了註釋
scheduler.alpha.kubernetes.io/critical-pod
在版本 v1.16.0-alpha.1 中 - 回傳了註釋
scheduler.alpha.kubernetes.io/critical-pod
在版本 v1.16.0-alpha.2 中 - 刪除了註釋
scheduler.alpha.kubernetes.io/critical-pod
在版本 v1.16.0-beta.1 中
使用字段 spec.priorityClassName
來表明 pod 的重要性。
來源: www.habr.com