ãã®ç©è³ªã調補ããããã«äœ¿çšãããæ å ±ãããååŸãããããŒãã«ã远跡Kubernetesã®åŒ·åãCHANGELOG-1.19ãSysdigã®æŠèŠããªãã³ã«é¢é£ããåé¡ããã«èŠæ±ãKubernetesæ¡åŒµææ¡ïŒKEPïŒã
ããªãäžè¬çãªæ§è³ªã®ããã€ãã®äž»èŠãªé©æ°ããå§ããŸããã...
Kubernetes 1.19ã®ãªãªãŒã¹ã«ãããKubernetesããŒãžã§ã³ã®ããµããŒããŠã£ã³ããŠãã9ãæïŒã€ãŸããéå»3åã®ãªãªãŒã¹ïŒãã1幎ïŒã€ãŸãã4åã®ãªãªãŒã¹ïŒã«å»¶é·ãããŸãããã©ãããŠïŒ
ãããžã§ã¯ãéçºãé«éã§ããããïŒé »ç¹ã«ã¡ãžã£ãŒãªãªãŒã¹ãããïŒãKubernetesã¯ã©ã¹ã¿ãŒç®¡çè ã¯ã€ã³ã¹ããŒã«ãæŽæ°ããæéããªãããšã倿ããŸããã察å¿ããKEPã®äœæè ã¯ãæšå¹Žåãã«ã¯ãŒãã³ã°ã°ã«ãŒãã宿œãã調æ»ãåç §ããKubernetesãŠãŒã¶ãŒã®çŽ3åã®1ãæ¬çªç°å¢ã§å®è¡ãããŠãã廿¢ãããK8sãªãªãŒã¹ãæ±ã£ãŠããããšã瀺ããŸãã:(
調æ»ã®æç¹ã§ãKubernetesã®çŸåšã®ããŒãžã§ã³ã¯1.13ãã€ãŸããã¹ãŠã®K8sãŠãŒã¶ãŒã§ãã1.9ããã³1.10ã¯ããã®æç¹ã§ãµããŒããããªããªã£ããªãªãŒã¹ã§æ©èœããŸãããïŒ
ãããã£ãŠãKubernetesãªãªãŒã¹ïŒã³ãŒãã§èŠã€ãã£ãåé¡ãä¿®æ£ãããããã®ãªãªãŒã¹ïŒã®ãµããŒãæéã3ãæå»¶é·ãããšã80ïŒ ä»¥äžã®ãŠãŒã¶ãŒããµããŒããããŠããããŒãžã§ã³ã®K8ã§äœæ¥ã§ããããã«ãªããšæ³å®ãããŸãïŒçŸæç¹ã§æ³å®ãããŠãã50ã60ïŒ ã§ã¯ãããŸããïŒã ïŒã
ãã1ã€ã®å€§ããªéçºïŒæ§é åãã°ã®æšæºãéçº ãããŸãã..ãã³ã³ãããŒã«ãã¬ãŒã³ã®çŸåšã®ãã®ã³ã°ã·ã¹ãã ã¯ãKubernetesã§ã®ã¡ãã»ãŒãžãšãªããžã§ã¯ãåç §ã®åäžãªæ§é ãä¿èšŒããªãããããã®ãããªãã°ã®åŠçãè€éã«ãªããŸãããã®åé¡ã解決ããããã«ããã°å ã®ã¡ãã»ãŒãžã®æ°ããæ§é ãå°å ¥ãããŸããããã®æ§é ã§ã¯ããã°ãçæããããã®æ§é åã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããæ°ããã¡ãœãããšããã°å ã®K8sãªããžã§ã¯ããèå¥ããããã®è£å©ã¡ãœããã§klogã©ã€ãã©ãªãæ¡åŒµãããŠããŸãã
klog v2ãžã®ç§»è¡ãšåæã«ãJSONã§ãã°ãåºåããããã®æ°ãã圢åŒãžã®ç§»è¡ãå®è¡ãããŸããããã«ããããã°ãžã®èŠæ±ã®å®è¡ãšãã®åŠçãç°¡çŽ åãããŸãããã®ããã«ã
--logging-formatããã©ã«ãã§å€ãããã¹ã圢åŒã䜿çšãããã©ã°ã衚瀺ãããŸãã
Kubernetesãªããžããªã¯å·šå€§ã§ãããèè ã¯æ§é åãã®ã³ã°KEPã¯çŸå®äž»çŸ©è ã§ãããæãäžè¬çãªã¡ãã»ãŒãžã«æ°ããã¢ã€ãã¢ãå®çŸããããã®åªåãéäžãããŸãã
klogã®æ°ããã¡ãœããã䜿çšãããã®ã³ã°ã®å³ïŒ
klog.InfoS("Pod status updated", "pod", "kubedns", "status", "ready")
I1025 00:15:15.525108 1 controller_utils.go:116] "Pod status updated" pod="kubedns"
klog.InfoS("Pod status updated", "pod", klog.KRef("kube-system", "kubedns"), "status", "ready")
I1025 00:15:15.525108 1 controller_utils.go:116] "Pod status updated" pod="kube-system/kubedns" status="ready"
klog.ErrorS(err, "Failed to update pod status")
E1025 00:15:15.525108 1 controller_utils.go:114] "Failed to update pod status" err="timeout"
JSON圢åŒã®äœ¿çšïŒ
pod := corev1.Pod{Name: "kubedns", Namespace: "kube-system", ...}
klog.InfoS("Pod status updated", "pod", klog.KObj(pod), "status", "ready")
{
"ts": 1580306777.04728,
"v": 4,
"msg": "Pod status updated",
"pod":{
"name": "nginx-1",
"namespace": "default"
},
"status": "ready"
}
ãã1ã€ã®éèŠãªïŒãããŠéåžžã«é¢é£æ§ã®ããïŒã€ãããŒã·ã§ã³ã¯ã廿¢ãããAPIã«ã€ããŠéç¥ããã¡ã«ããºã ã§ãããããŒã¿çãšããŠããã«å®è£ ãããŸãïŒã€ãŸããããã©ã«ãã§ã€ã³ã¹ããŒã«ã§ã¢ã¯ãã£ãã«ãªããŸãïŒãã«ãã£ãŠèª¬æç°ãªãç¶æ ã«ããç°ãªãæéã«æ»åšãå€ãã®Kubernetesåžžã«æä»£é ãã®å®¹éã§ãäœè ã®ãã€ã«èŠéãããã¹ãŠã®ãªãªãŒã¹ããŒããæ³šææ·±ãèªã¿ãæ§æ/èšå®ãæåã§ã¯ãªãŒã³ã¢ããããŠããããã远跡ããããšã¯ã»ãšãã©äžå¯èœã§ãã
ãã®åé¡ã解決ããããã«ãéæšå¥šã®APIã䜿çšãããšãå¿çã«ããããŒã远å
Warningãããã¯ã©ã€ã¢ã³ãåŽã§èªèãããŸãïŒclient-goïŒç°ãªãå¿çã®å¯èœæ§ãããïŒç¡èŠãéè€æé€ããã°ã kubectlãŠãŒãã£ãªãã£ã§ã¯ããããã®ã¡ãã»ãŒãžãstderrã«åºåããæ¹æ³ãã³ã³ãœãŒã«ã§ã¡ãã»ãŒãžãè²ã§åŒ·èª¿è¡šç€ºããæ¹æ³ãããã³ãããããã--warnings-as-errorsååã®ãã©ã°ã远å ããæ¹æ³ãæããŸããã
ããã«å ããŠãéæšå¥šã®APIãšç£æ»æ³šéã®äœ¿çšãå ±åããããã®ç¹å¥ãªã¡ããªãã¯ã远å ãããŸããã
æåŸã«ãéçºè 㯠ããŒã¿çããã®Kubernetesæ©èœã®é²æ©ã«åå ããŸããããããžã§ã¯ãã®çµéšã瀺ãããã«ãAPIã®ããã€ãã®æ°æ©èœãšå€æŽã¯ããã§ã«èªåçã«ïŒããã©ã«ãã§ïŒã¢ã¯ãã£ãåãããŠããããŠãŒã¶ãŒã«ãã远å ã®ã¢ã¯ã·ã§ã³ãå¿ èŠãšããªããããããŒã¿ã¹ããŒã¿ã¹ã§ãã¹ã¿ãã¯ãããŠããŸããã
ãããé²ãããã«ãããããããææ¡ããŸã 6ãæéïŒ2ã€ã®ãªãªãŒã¹ïŒããŒã¿çã§ãããæ¬¡ã®æ¡ä»¶ã®ããããæºãããªãæ©èœãéæšå¥šãªã¹ãã«èªåçã«éä¿¡ããŸãã
- GAåºæºãæºãããå®å®ããã¹ããŒã¿ã¹ã«ææ ŒããŸãã
- 以åã®ããŒã¿çã廿¢ããæ°ããããŒã¿çããããŸãã
ãããŠä»ãããããã®SIGã«ãã£ãŠåé¡ãããKubernetes1.19ã®ä»ã®å€æŽã«ã€ããŠã
ããŒã«ã
æ°ããCSIStorageCapacity ãªããžã§ã¯ãã¯ãCSIããªã¥ãŒã ã䜿çšãããããã®ã¹ã±ãžã¥ãŒãªã³ã°ããã»ã¹ãæ¹åããããšãç®çãšããŠããŸããã¹ãã¬ãŒãžã¹ããŒã¹ãäžè¶³ããŠããããŒãã«ã¯é 眮ãããŸããããã®ããã䜿çšå¯èœãªãã£ã¹ã¯é åã«é¢ããæ å ±ã¯APIãµãŒããŒã«ä¿åãããCSIãã©ã€ããŒãšã¹ã±ãžã¥ãŒã©ãŒã䜿çšã§ããŸããçŸåšã®å®è£ ç¶æ³ã¯ã¢ã«ãã¡çã§ãã詳现ã«ã€ããŠã¯ãKEPãåç §ããŠãã ããã
ã¢ã«ãã¡çã®ãã1ã€ã®é©æ°ã¯ãããã仿§ã§ãšãã§ã¡ã©ã«ããªã¥ãŒã ãçŽæ¥å®çŸ©ããæ©èœãäžè¬çãªãšãã§ã¡ã©ã«ã€ã³ã©ã€ã³ããªã¥ãŒã ïŒKEPïŒã§ããïŒããšãã§ã¡ã©ã«ããªã¥ãŒã ã¯ãç¹å®ã®ããããã¹ããŒã³ãããšãã«äœæãããçµäºãããšåé€ãããŸãããããã¯ä»¥åã«å®çŸ©ãããŠããå¯èœæ§ããããŸããïŒä»æ§ã«çŽæ¥ãã€ãŸãã€ã³ã©ã€ã³æ¹åŒãå«ãïŒãæ©èœèªäœã®äžè²«æ§ã蚌æãããæ¢åã®ã¢ãããŒãã¯ããã®äœ¿çšã®ãã¹ãŠã®ã±ãŒã¹ãç¶²çŸ ããŠããŸããã§ããã
æ°ããã¡ã«ããºã ã¯ãåçããããžã§ãã³ã°ããµããŒãããä»»æã®ãã©ã€ããŒã®ãšãã§ã¡ã©ã«ããªã¥ãŒã ãå®çŸ©ããããã®ã·ã³ãã«ãªAPIãæäŸããŸãïŒä»¥åã¯ãããã«ã¯ãã©ã€ããŒã®å€æŽãå¿ èŠã§ããïŒãããã«ãããä»»æã®ãšãã§ã¡ã©ã«ããªã¥ãŒã ïŒCSIãšããªãŒå ã®äž¡æ¹
EmptyDirïŒãæäœã§ãã䜿çšå¯èœãªã¹ãã¬ãŒãžã¹ããŒã¹ã®è¿œè·¡ãšããå¥ã®æ°æ©èœïŒäžèšã§èª¬æïŒã®ãµããŒããæäŸãããŸãã
æ°ãããšãã§ã¡ã©ã«ããªã¥ãŒã ïŒæ±çšã€ã³ã©ã€ã³ïŒã䜿çšããé«ã¬ãã«ã®Kubernetesãªããžã§ã¯ãã®äŸïŒ
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd-elasticsearch
namespace: kube-system
spec:
selector:
matchLabels:
name: fluentd-elasticsearch
template:
metadata:
labels:
name: fluentd-elasticsearch
spec:
containers:
- name: fluentd-elasticsearch
image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2
volumeMounts:
- name: varlog
mountPath: /var/log
- name: scratch
mountPath: /scratch
volumes:
- name: varlog
hostPath:
path: /var/log
- name: scratch
ephemeral:
metadata:
labels:
type: fluentd-elasticsearch-volume
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "scratch-storage-class"
resources:
requests:
storage: 1Gi
ããã§ãDaemonSetã³ã³ãããŒã©ãŒã¯ããã¥ãŒåã䜿çšããŠããããäœæããŸã
fluentd-elasticsearch-b96sdããã®åŸããã®ãããªãããã«PersistentVolumeClaimã远å ããfluentd-elasticsearch-b96sd-scratchãŸãã
ãŸããã¢ã«ãã¡ããŒãžã§ã³ãšããŠå°å ¥ãããæåŸã®å®å šã«æ°ããã¹ãã¬ãŒãžæ©èœã¯ãFSGroupããŒã¹ã®ã¢ã¯ã»ã¹èš±å¯ïŒKEPïŒã®ãµããŒãã
csidriver.spec.SupportsFSGroup瀺ãCSIãã©ã€ããŒã®æ°ãããã£ãŒã«ãã§ããåæ©ïŒCSIããªã¥ãŒã ã®æææš©ã®å€æŽã¯ãã³ã³ãããŒã«ããŠã³ããããåã«å®è¡ãããŸããããã¹ãŠã®ã¿ã€ãã®ã¹ãã¬ãŒãžããã®ãããªæäœïŒNFSãªã©ïŒããµããŒãããŠããããã§ã¯ãªãããããšã©ãŒãçºçããå¯èœæ§ããããŸãã
ããŒã¿çãŸã§ïŒã€ãŸããããã©ã«ãã®ã€ã³ã¯ã«ãŒãžã§ã³ïŒïŒ
- CSI- Azure vSphere ( , Kubernetes);
- Secrets ConfigMaps.
/ Kubelet
Seccompã¯å®å®ïŒGAïŒãšå®£èšãããŠããŸããç¹ã«ããã®äœæ¥ã«ããã廿¢ããããšå®£èšãããæ³šéã§ã¯ãªããAPIã®seccompã®ãã£ãŒã«ãã«ç§»è¡ãïŒæ°ããKubeletsã¯æ³šéãç¡èŠããŸãïŒãPodSecurityPolicyã«åœ±é¿ãäžããŸããã
PodSpecã«æ°ãããã£ãŒã«ãã远å ãããããããã¹ãã®FQDNïŒå®å šä¿®é£Ÿãã¡ã€ã³åïŒãèšå®
fqdnInHostnameã§ããããã«ãªããŸãããç®æšã¯ãKubernetesã®ã¬ã¬ã·ãŒã¢ããªã±ãŒã·ã§ã³ã®ãµããŒããæ¹åããããšã§ããèè
ã圌ãã®æå³ã説æããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
« Unix Linux-, Red Hat CentOS, FQDN- hostname. , , Kubernetes, . ».
ããã©ã«ãã§ã¯
falseãå€ãïŒKubernetesã®å ŽåïŒåäœãä¿æãããŸããæ©èœã¹ããŒã¿ã¹-ã¢ã«ãã¡ããŒãžã§ã³ã次ã®ãªãªãŒã¹ïŒ1.20ïŒã§å®å®ããŠãããšå®£èšãããäºå®ã§ããKubeletã«ãã£ãŠåéãããã¢ã¯ã»ã©ã¬ãŒã¿ã¡ããªãã¯
ãæŸæ£ããããšã決å®ãããŸããã PodResources APIãä»ããŠãå€éšã®ç£èŠãšãŒãžã§ã³ãã«ãã£ãŠãã®ãããªã¡ããªãã¯ãåéããããšãææ¡ãããŠããŸãããã®APIèªäœã¯ãã¡ã€ã³ã®Kubernetesãªããžããªãããã¹ãŠã®ããã€ã¹åºæã®ã¡ããªãã¯ãååŸãããã³ããŒãKubernetesã³ã¢ã«å€æŽãå ããããšãªãããããå®è£ ã§ããããã«ããããšãç®çãšããŠãæ£ç¢ºã«äœæãããŸããã PodResources APIã¯ããŒã¿çã§ããïŒæ©èœã²ãŒãã責任ãè² ããŸã
KubeletPodResourcesïŒããŸããªãå®å®ããŸããçŸåšã®ãªãªãŒã¹ã§ã¯ãæŸæ£ããã»ã¹ã¯ã¢ã«ãã¡ã¹ããŒã¿ã¹ã§ããã詳现ã¯KEPã«ãããŸãã
ä»åŸãKubeletã¯Dockerãªãã§æ§ç¯ã§ããŸããããã«ãããäœæè ã¯Dockeråºæã®ã³ãŒãããªããGolangããã±ãŒãžã«äŸåããªãããšãæå³ããŸã
docker/dockerããã®ã€ãã·ã¢ããã®æçµçãªç®æšã¯ãå®å
šã«ãããã«ãŒã¬ã¹ãïŒã€ãŸããDockerã«äŸåããªãïŒKubeletã«å°éããããšã§ãããã€ãã®ããã«ãKEPã§åæ©ã«ã€ããŠãã£ãšèªãããšãã§ããŸãããã®æ©äŒã¯ããã«GAã¹ããŒã¿ã¹ãåãåããŸããã
ååã®K8sãªãªãŒã¹ã§ããŒã¿çã«å°éããNodeTopology Managerã«ããããã¬ãã«ã§ãªãœãŒã¹ãå¹³æºåããæ©èœã远å ãããŸããã
ã¹ã±ãžã¥ãŒã©ãŒ
Kubernetes 1.18ã« æ»ã£ãŠãå¶æ°ãããé åž ïŒEven Pod SpreadingïŒã®ã°ããŒãã«æ§æã«ã€ããŠèšè¿°ããŸããããããã©ãŒãã³ã¹ãã¹ãã®çµæã«åºã¥ããŠããã®æ©èœãå»¶æããããšã決å®ãããŸããã圌女ã¯çŸåšKubernetesã«ããŸãïŒã¢ã«ãã¡ã¹ããŒã¿ã¹ïŒã
ã€ãããŒã·ã§ã³ã®æ¬è³ªã¯ããããŸã§ã®ãã
DefaultConstraintsã«PodSpecïŒããtopologySpreadConstraintsïŒã ãã§ãªããã¯ã©ã¹ã¿ãŒã¬ãã«ã§ãããé«ãã¬ãã«ã§ããããé
åžããããã®ã«ãŒã«ãèŠå¶ã§ããããã«ããã°ããŒãã«å¶çŽïŒïŒã®è¿œå ã§ããããã©ã«ãã®æ§æã¯ãçŸåšã®ãã©ã°ã€ã³ãšåæ§ã«ãªããŸãDefaultPodTopologySpreadã
defaultConstraints:
- maxSkew: 3
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: ScheduleAnyway
- maxSkew: 5
topologyKey: "topology.kubernetes.io/zone"
whenUnsatisfiable: ScheduleAnyway
詳现ã¯KEPã«ãããŸãã
å¶æ°ãããæ¡æ£ã«é¢é£ããå¥ã®æ©èœïŒé害ãã¡ã€ã³ïŒãªãŒãžã§ã³ããŸãŒã³ãããŒããªã©ïŒã«ãããããã®ã°ã«ãŒãã®é åžãã¢ã«ãã¡ããããŒã¿ã«ç§»åãããŸããïŒããã©ã«ãã§æå¹ïŒã
ã¹ã±ãžã¥ãŒã©ã®ä»ã®3ã€ã®æ©èœã¯ãåæ§ã®ãå¢å ããå®çŸããŸããã
- 1.18ã«ç€ºãããŠããèšç»ãããã¡ã€ã«ïŒãããã¡ã€ã«ã®ã¹ã±ãžã¥ãŒãªã³ã°ïŒã
- PriorityClassesã§ãããããªãšã³ãã·ã§ã³ãæå¹/ç¡å¹ã«ãããªãã·ã§ã³ã
- æ§æãã¡ã€ã«kube-schedulerComponentConfigã
ãããã¯ãŒã¯
IngressãªãœãŒã¹ã¯æçµçã«å®å®ããŠãããšå®£èšã
v1ããAPIã«ããŒãžã§ã³ããããŸãããã®ç¹ã§ãããªãã®æ°ã®æŽæ°ãé¢é£ããããã¥ã¡ã³ãã«ç€ºãããŠããŸãããã®PRãããŠãŒã¶ãŒã«æ°ä»ã倿Žã«ã¯ãç¹ã«æ³šæãæãå¿
èŠããããŸããããšãã°ãspec.backendâ spec.defaultBackendãserviceNameâ service.nameãservicePortâ service.port.number...ãªã©ã®åå倿ŽããããŸã
ããµãŒãã¹ãšãšã³ããã€ã³ãã®AppProtocolãã£ãŒã«ããããã³EndpointSlice API ïŒLinuxã®kube-proxyãèµ·åããŸãïŒããã©ã«ãã§ã¯EndpointSlicesã䜿çšããŸãããWindowsã®å Žåã¯ã¢ã«ãã¡çã®ãŸãŸã§ãïŒããã³SCTPãµããŒãã
kubeadm
kubeadmãŠãŒãã£ãªãã£ã«2ã€ã®æ°æ©èœïŒã¢ã«ãã¡çïŒãå°å ¥ãããŸããã
1ã€ç®ã¯ããããã䜿çšããŠkubeadmã«ãã£ãŠçæããããããã§ã¹ãã倿Žããããšã§ããKustomizeïŒã¢ã«ãã¡çïŒã䜿çšããŠãããã倿Žããããšã¯ãã§ã«å¯èœã§ããããkubeadméçºè ã¯ãéåžžã®ãããã䜿çšããããšã奜ãŸããæ¹æ³ã§ãããšå€æããŸããïŒKustomizeã¯äžèŠãªäŸåé¢ä¿ã«ãªããããæè¿ãããŸããïŒã
ä»ã§ã¯ïŒãã©ã°ãçµç±ããŠçã®ããããé©çšããããšãå¯èœã§ãã
--experimental-patcheskubeadmã³ãã³ãã®ããïŒinitãjoinããã³upgradeã䞊ã³ã«ãããã®æ®µéã KustomizeããŒã¹ã®å®è£
ïŒãã©ã°--experimental-kustomizeïŒã¯éæšå¥šã«ãªããåé€ãããŸãã
2çªç®ã®æ©èœã¯ãã³ã³ããŒãã³ãæ§æãæäœããããã®æ°ããã¢ãããŒãã§ãããã®kubeadmã¯åäœããŸãããã®ãŠãŒãã£ãªãã£ã¯ãããã©ã«ãå€ãçæãæ€èšŒãèšå®ããKubeletãkube-proxyãªã©ã®Kubernetesã¯ã©ã¹ã¿ãŒã³ã³ããŒãã³ãã®æ§æãïŒConfigMapsã®åœ¢åŒã§ïŒä¿åããŸããæéã®çµéãšãšãã«ãããã«ã¯å€ãã®åé¡ãçããããšãæããã«ãªããŸãããkubeadmã«ãã£ãŠçæãããæ§æãšãŠãŒã¶ãŒã«ãã£ãŠéä¿¡ãããæ§æãåºå¥ããæ¹æ³ïŒããã§ãªãå Žåã¯ãæ§æã®ç§»è¡ãã©ããããïŒãããã©ã«ãå€ã®ã©ã®ãã£ãŒã«ããèªåçã«çæãããã©ã®ãã£ãŒã«ããæå³çã«èšå®ãããŸãããïŒ..
ãããã®åé¡ã解決ããããã«ãããã©ã«ãå€ã®èšå®ã®æåŠïŒããã¯ã³ã³ããŒãã³ãèªäœãè¡ãå¿ èŠããããŸãïŒãæ§ææ€èšŒèªäœã®å§ä»»ãªã©ã倿°ã®å€æŽãæç€ºãããŸããã³ã³ããŒãã³ããçæãããåConfigMapãžã®çœ²åãªã©ââã
ãŸããkubeadmã®ãã1ã€ã®éèŠæ§ã®äœãæ©èœã¯ããšåŒã°ããæ©èœã²ãŒãã§ã
PublicKeysECDSAãããã«ã¯ãkubeadm init ECDSAèšŒææžã䜿çšããŠã¯ã©ã¹ã¿ãŒãäœæããæ©èœãå«ãŸããŠããŸããïŒãä»ããŠkubeadm alpha certs renewïŒæ¢åã®èšŒææžãæŽæ°ããããšãã§ããŸãããRSAãšECDSAãç°¡åã«åãæ¿ããã¡ã«ããºã ã¯ãããŸããã
ãã®ä»ã®å€æŽ
- ïŒGAã¹ããŒã¿ã¹ã¯ãèªèšŒã®åéã«3ã€ã®æ©èœãåä¿¡èšŒææžçœ²åèŠæ±APIãããŒããžã®ã¢ã¯ã»ã¹å¶éïŒå
¥å Žãã©ã°ã€ã³ãä»ããŠç¹å®ã®APIã«
NodeRestrictionïŒãããŒãã¹ãã©ããã®èªåæŽæ°Kubeletã¯ã©ã€ã¢ã³ãèšŒææžã - æ°ããEventAPIããéè€æé€ãžã®ã¢ãããŒãã倿ŽãããŠå®å®ããŠãããšå®£èšãããŸããïŒã€ãã³ãã«ããã¯ã©ã¹ã¿ãŒã®éè² è·ãåé¿ããããïŒã
- (kube-apiserver, kube-scheduler, etcd )
debiandistroless. : , ( â KEP). - Kubelet Docker runtime target-,
TargetContainerNameEphemeralContainer ( ). - « »
.status.conditions, API . - kube-proxy IPv6DualStack Windows ( feature gate).
- ããããããååã®æ©èœã²ãŒã
CSIMigrationvSphereïŒvSphereã®çµã¿èŸŒã¿-ããªãŒå -ãã©ã°ã€ã³ããCSIãã©ã€ããŒãžã®ç§»è¡ïŒãããŒã¿çã«ç§»è¡ããŸããã - 以äžã®ããã®
kubectl run远å ãã©ã°--privilegedã - ãã§ãŒãºã®åŸã«éå§ããæ°ããæ¡åŒµãã€ã³ããã¹ã±ãžã¥ãŒã©ãŒã«è¿œå ãããŸãã-
PostFilterã-Filterã - Windowsã§ã®Cri-containerdãµããŒãã¯ããŒã¿çã«éããŸããã
äŸåé¢ä¿ã®å€æŽïŒ
- kubeadmã«å«ãŸããCoreDNSã®ããŒãžã§ã³-1.7.0;
- cri-tools 1.18.0;
- CNIïŒã³ã³ãããããã¯ãŒãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ïŒ0.8.6;
- etcd 3.4.9;
- 䜿çšãããGoã®ããŒãžã§ã³ã¯1.15.0-rc.1ã§ãã
PS
ç§ãã¡ã®ããã°ãèªãã§ãã ããïŒ