แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— etcd Kubernetes แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  (K8s API-แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”)

แƒฃแƒคแƒ แƒ แƒ“แƒ แƒฃแƒคแƒ แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒ—แƒฎแƒแƒ•แƒ”แƒœ, แƒ›แƒ˜แƒ•แƒชแƒ”แƒ— แƒฌแƒ•แƒ“แƒแƒ›แƒ Kubernetes-แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ”, แƒ แƒแƒ—แƒ แƒจแƒ”แƒซแƒšแƒแƒœ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜: แƒ แƒแƒ—แƒ แƒ›แƒแƒ— แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒœแƒ”แƒœ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒแƒœ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก, แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒœ แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜...

แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— etcd Kubernetes แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  (K8s API-แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”)

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒแƒžแƒแƒ แƒแƒขแƒ˜แƒ“แƒแƒœ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ memcached.staging.svc.cluster.local. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒแƒ› แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก VPN-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒ› แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ— แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒก, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก แƒ“แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒš DNS-แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒแƒก memcached.staging.svc.cluster.local, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ›แƒ˜แƒ“แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒš DNS-แƒจแƒ˜ แƒ“แƒ แƒกแƒแƒžแƒแƒกแƒฃแƒฎแƒแƒ“ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒ“แƒแƒœ แƒแƒœ pod แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒ“แƒแƒœ.

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒ— K8s แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒก kubeadm-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒแƒ แƒ˜แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜ 192.168.0.0/16, แƒฎแƒแƒšแƒ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜ แƒแƒ แƒ˜แƒก 10.244.0.0/16. แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒžแƒฃแƒœแƒฅแƒขแƒ˜:

  • แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜ 192.168.*.* แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒแƒแƒคแƒ˜แƒกแƒ” แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒšแƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒจแƒ˜. แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ”แƒ‘แƒก: แƒกแƒแƒฎแƒšแƒ˜แƒก แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒแƒ› แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ–แƒ” แƒ“แƒ VPN แƒฃแƒ‘แƒ˜แƒซแƒ’แƒ”แƒ‘แƒก แƒแƒ› แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒแƒ›แƒ“แƒ”.
  • แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ (แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ, แƒกแƒชแƒ”แƒœแƒ แƒ“แƒ/แƒแƒœ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜). แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“, แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒ’แƒแƒœแƒก แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒ˜ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒช แƒ“แƒ˜แƒ“ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ”แƒ‘แƒก แƒฅแƒ›แƒœแƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒฉแƒ•แƒ”แƒœ แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒแƒœแƒ˜แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜ - แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ แƒแƒ  แƒ›แƒกแƒฃแƒ แƒก แƒœแƒฃแƒšแƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ”แƒœ แƒ‘แƒ”แƒ•แƒ  แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก, แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒก แƒ“แƒ แƒ.แƒจ.

แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ—แƒแƒ•แƒก แƒ•แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ—: แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒแƒ— แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜?

แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒ

แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก ClusterIP. แƒ แƒแƒ’แƒแƒ แƒช แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜, แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ แƒฉแƒ”แƒ•แƒ แƒ“แƒ แƒ”แƒก:

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒแƒฅแƒ•แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ: แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒซแƒ•แƒ”แƒšแƒ˜ IP, แƒ แƒแƒ’แƒแƒ แƒช DNS แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ /etc/resolv.conf-แƒจแƒ˜.
แƒ แƒแƒ“แƒ’แƒแƒœ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒ”, แƒ›แƒแƒ›แƒ˜แƒฌแƒ˜แƒ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ kubeadm reset-แƒ˜แƒ— แƒ“แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒฉแƒแƒ แƒ—แƒ•แƒ.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜... แƒแƒฅ แƒแƒ แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒกแƒแƒ•แƒแƒšแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒฅแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

  • แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒคแƒšแƒแƒœแƒ”แƒšแƒ˜;
  • แƒแƒ แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒฆแƒ แƒฃแƒ‘แƒšแƒ”แƒ‘แƒจแƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ”;
  • แƒ›แƒกแƒฃแƒ แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ•แƒ˜แƒชแƒ˜แƒšแƒแƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฎแƒ”แƒšแƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ;
  • แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ—;
  • Kubernetes แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒแƒ แƒ˜แƒก 1.16.6 (แƒ—แƒฃแƒ›แƒชแƒ, แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก);
  • แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒแƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒก, แƒ แƒแƒ› แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ kubeadm-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ—แƒแƒœ 192.168.0.0/16, แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ˜แƒ’แƒ˜ 172.24.0.0/16.

แƒ“แƒ แƒ˜แƒกแƒ” แƒ›แƒแƒฎแƒ“แƒ, แƒ แƒแƒ› แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒแƒœแƒ˜แƒ แƒ’แƒ•แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ“แƒ, แƒ’แƒ•แƒ”แƒœแƒแƒฎแƒ, แƒ แƒ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ Kubernetes-แƒจแƒ˜ etcd-แƒจแƒ˜, แƒ แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒ›แƒแƒกแƒ—แƒแƒœ... แƒแƒกแƒ” แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒ“แƒ˜แƒ—: โ€œแƒ แƒแƒขแƒแƒ› แƒแƒ  แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ etcd-แƒจแƒ˜, แƒซแƒ•แƒ”แƒšแƒ˜ IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก (แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜แƒก) แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒแƒฎแƒšแƒ˜แƒ—? "

etcd-แƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ–แƒ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒœแƒ”แƒ— แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ แƒแƒ›, แƒ แƒแƒช แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒ“แƒแƒญแƒ แƒ˜แƒก. (แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ˜แƒชแƒ˜แƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ etcd-แƒจแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ”แƒšแƒ˜ แƒ•แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒ–แƒ”.) แƒ—แƒฃแƒ›แƒชแƒ, แƒ™แƒแƒ แƒ’แƒ˜ แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒ แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” OpenShift-แƒ“แƒแƒœ (แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ แƒ›แƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ”แƒ‘แƒก!).

แƒแƒ› แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ etcd-แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒ˜แƒ“แƒแƒœ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— ls, get, dump.

แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— etcdhelper

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒแƒ–แƒ แƒ˜ แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜แƒ: "แƒ แƒ แƒ’แƒ˜แƒจแƒšแƒ˜แƒ— แƒฎแƒ”แƒšแƒก แƒแƒ› แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—?"

แƒ˜แƒ’แƒ˜ แƒ’แƒแƒฎแƒ“แƒ etcdhelper-แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒแƒ แƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒ— changeServiceCIDR ะธ changePodCIDR. แƒ›แƒแƒกแƒ–แƒ” แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒ™แƒแƒ“แƒ˜ แƒแƒฅ.

แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜? แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜ changeServiceCIDR:

  • แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ“แƒ”แƒกแƒ”แƒ แƒ˜แƒšแƒ˜แƒ–แƒแƒขแƒแƒ แƒ˜;
  • แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒฎแƒแƒขแƒ•แƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ CIDR-แƒ˜แƒก แƒฉแƒแƒกแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒšแƒแƒ“;
  • แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก ClusterIP แƒขแƒ˜แƒžแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜:
    • แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ etcd-แƒ“แƒแƒœ Go แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒจแƒ˜;
    • แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒฎแƒแƒขแƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒแƒ  แƒ‘แƒแƒ˜แƒขแƒก;
    • แƒ›แƒ˜แƒแƒœแƒ˜แƒญแƒ”แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜แƒ“แƒแƒœ;
    • แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒขแƒแƒ แƒก, แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒงแƒ•แƒแƒœแƒ— Go แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒก แƒžแƒ แƒแƒขแƒแƒ‘แƒฃแƒคแƒแƒ“, แƒ•แƒฌแƒ”แƒ แƒ— แƒแƒฎแƒแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก etcd-แƒจแƒ˜.

แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ changePodCIDR แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ changeServiceCIDR - แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒแƒ›แƒแƒก แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ•แƒชแƒ•แƒšแƒ˜แƒ— .spec.PodCIDR แƒแƒฎแƒแƒš แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒจแƒ˜.

แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒ

แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ CIDR

แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒ’แƒ›แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒฏแƒ˜แƒจแƒ˜แƒก แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒ แƒแƒก. แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒ’แƒ˜แƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒ— แƒแƒ–แƒ แƒ”แƒ‘แƒก แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ, แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒšแƒแƒ“, แƒแƒ› แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ›แƒแƒ›แƒ“แƒ” แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒ.

แƒ›แƒแƒกแƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜:

  • แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ“แƒ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ etcdhelper-แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ;
  • แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ“แƒ แƒ.แƒจ /etc/kubernetes.

แƒ›แƒแƒ™แƒšแƒ” แƒกแƒแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒ’แƒ”แƒ’แƒ›แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒกCIDR:

  • แƒแƒžแƒ˜แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ -แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ;
  • แƒกแƒ”แƒ แƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒฎแƒ”แƒšแƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒชแƒ”แƒ›แƒ;
  • ClusterIP แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ etcd-แƒจแƒ˜;
  • แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒฏแƒ˜แƒจแƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ.

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“.

1. แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— etcd-แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒ›แƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

apt install etcd-client

2. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— etcdhelper:

  • แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— golang:
    GOPATH=/root/golang
    mkdir -p $GOPATH/local
    curl -sSL https://dl.google.com/go/go1.14.1.linux-amd64.tar.gz | tar -xzvC $GOPATH/local
    echo "export GOPATH="$GOPATH"" >> ~/.bashrc
    echo 'export GOROOT="$GOPATH/local/go"' >> ~/.bashrc
    echo 'export PATH="$PATH:$GOPATH/local/go/bin"' >> ~/.bashrc
  • แƒฉแƒ•แƒ”แƒœ แƒ•แƒ–แƒแƒ’แƒแƒ•แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ—แƒแƒ•แƒก etcdhelper.go, แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒจแƒ”แƒแƒ’แƒ แƒแƒ•แƒ”แƒ—:
    wget https://raw.githubusercontent.com/flant/examples/master/2020/04-etcdhelper/etcdhelper.go
    go get go.etcd.io/etcd/clientv3 k8s.io/kubectl/pkg/scheme k8s.io/apimachinery/pkg/runtime
    go build -o etcdhelper etcdhelper.go

3. แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ” แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ“แƒ แƒ.แƒจ.

backup_dir=/root/backup
mkdir ${backup_dir}
cp -rL /etc/kubernetes ${backup_dir}
ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --key=/etc/kubernetes/pki/etcd/server.key --cert=/etc/kubernetes/pki/etcd/server.crt --endpoints https://192.168.199.100:2379 snapshot save ${backup_dir}/etcd.snapshot

4. แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜ Kubernetes แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒกแƒ˜แƒ‘แƒ แƒขแƒงแƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ”แƒ‘แƒจแƒ˜. แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜ /etc/kubernetes/manifests/kube-apiserver.yaml ะธ /etc/kubernetes/manifests/kube-controller-manager.yaml แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ --service-cluster-ip-range แƒแƒฎแƒแƒš แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒจแƒ˜: 172.24.0.0/16 แƒœแƒแƒชแƒ•แƒšแƒแƒ“ 192.168.0.0/16.

5. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช kubeadm แƒ’แƒแƒกแƒชแƒ”แƒ›แƒก แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒก apiserver-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก), แƒ›แƒแƒ—แƒ˜ แƒฎแƒ”แƒšแƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ”แƒ›แƒแƒ แƒกแƒแƒญแƒ˜แƒ แƒ:

  1. แƒ•แƒœแƒแƒฎแƒแƒ—, แƒ แƒแƒ›แƒ”แƒš แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒกแƒ แƒ“แƒ IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ–แƒ”แƒ แƒ’แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒกแƒ”แƒ แƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ˜:
    openssl x509 -noout -ext subjectAltName </etc/kubernetes/pki/apiserver.crt
    X509v3 Subject Alternative Name:
        DNS:dev-1-master, DNS:kubernetes, DNS:kubernetes.default, DNS:kubernetes.default.svc, DNS:kubernetes.default.svc.cluster.local, DNS:apiserver, IP Address:192.168.0.1, IP Address:10.0.0.163, IP Address:192.168.199.100
  2. แƒ›แƒแƒ“แƒ˜แƒ— แƒ›แƒแƒ•แƒแƒ›แƒ–แƒแƒ“แƒแƒ— แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ kubeadm-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:
    cat kubeadm-config.yaml
    apiVersion: kubeadm.k8s.io/v1beta1
    kind: ClusterConfiguration
    networking:
      podSubnet: "10.244.0.0/16"
      serviceSubnet: "172.24.0.0/16"
    apiServer:
      certSANs:
      - "192.168.199.100" # IP-ะฐะดั€ะตั ะผะฐัั‚ะตั€ ัƒะทะปะฐ
  3. แƒ›แƒแƒ“แƒ˜แƒ— แƒฌแƒแƒ•แƒจแƒแƒšแƒแƒ— แƒซแƒ•แƒ”แƒšแƒ˜ crt แƒ“แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒแƒฎแƒแƒšแƒ˜ แƒกแƒ”แƒ แƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ˜ แƒแƒ  แƒ’แƒแƒ˜แƒชแƒ”แƒ›แƒ:
    rm /etc/kubernetes/pki/apiserver.{key,crt}
  4. แƒ›แƒแƒ“แƒ˜แƒ— แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒ•แƒชแƒ”แƒ— แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜ API แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:
    kubeadm init phase certs apiserver --config=kubeadm-config.yaml
  5. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ—, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ˜ แƒ’แƒแƒ˜แƒชแƒ แƒแƒฎแƒแƒšแƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:
    openssl x509 -noout -ext subjectAltName </etc/kubernetes/pki/apiserver.crt
    X509v3 Subject Alternative Name:
        DNS:kube-2-master, DNS:kubernetes, DNS:kubernetes.default, DNS:kubernetes.default.svc, DNS:kubernetes.default.svc.cluster.local, IP Address:172.24.0.1, IP Address:10.0.0.163, IP Address:192.168.199.100
  6. API แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ˜แƒก แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜:
    docker ps | grep k8s_kube-apiserver | awk '{print $1}' | xargs docker restart
  7. แƒ›แƒแƒ“แƒ˜แƒ— แƒแƒฆแƒ•แƒแƒ“แƒ’แƒ˜แƒœแƒแƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ admin.conf:
    kubeadm alpha certs renew admin.conf
  8. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒแƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ etcd-แƒจแƒ˜:
    ./etcdhelper -cacert /etc/kubernetes/pki/etcd/ca.crt -cert /etc/kubernetes/pki/etcd/server.crt -key /etc/kubernetes/pki/etcd/server.key -endpoint https://127.0.0.1:2379 change-service-cidr 172.24.0.0/16 

    แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒแƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก แƒ’แƒแƒ แƒฉแƒ”แƒ•แƒแƒ“แƒแƒ‘แƒ แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒžแƒแƒ“แƒ”แƒ‘แƒจแƒ˜ /etc/resolv.conf แƒซแƒ•แƒ”แƒšแƒ˜ CoreDNS แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ (kube-dns) แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ kube-proxy แƒชแƒ•แƒšแƒ˜แƒก iptables แƒฌแƒ”แƒกแƒ”แƒ‘แƒก แƒซแƒ•แƒ”แƒšแƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜แƒ“แƒแƒœ แƒแƒฎแƒแƒšแƒ–แƒ”. แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒฌแƒ”แƒ แƒ˜แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“ แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

  9. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒแƒ— ConfigMap-แƒ”แƒ‘แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ kube-system:
    kubectl -n kube-system edit cm kubelet-config-1.16

    - แƒแƒฅ แƒฉแƒแƒแƒœแƒแƒชแƒ•แƒšแƒ” clusterDNS kube-dns แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒฎแƒแƒš IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ”: kubectl -n kube-system get svc kube-dns.

    kubectl -n kube-system edit cm kubeadm-config

    - แƒ’แƒแƒ›แƒแƒ•แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ— data.ClusterConfiguration.networking.serviceSubnet แƒแƒฎแƒแƒš แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒจแƒ˜.

  10. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ kube-dns แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ, แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ kubelet แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”:
    kubeadm upgrade node phase kubelet-config && systemctl restart kubelet
  11. แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒ“แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ:
    kubectl get pods --no-headers=true --all-namespaces |sed -r 's/(S+)s+(S+).*/kubectl --namespace 1 delete pod 2/e'

แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ

แƒแƒ–แƒ แƒ”แƒ‘แƒ˜ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ:

  1. แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒกแƒ˜แƒ‘แƒ แƒขแƒงแƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒฎแƒแƒšแƒ˜ kube-dns แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— kube-dns-tmp แƒ“แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ 172.24.0.10.
  2. แƒฉแƒแƒ“แƒ”แƒ‘แƒ if etcdhelper-แƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก kube-dns แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก.
  3. แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒฃแƒ‘แƒ”แƒšแƒ”แƒขแƒจแƒ˜ ClusterDNS แƒแƒฎแƒแƒšแƒ–แƒ”, แƒฎแƒแƒšแƒ แƒซแƒ•แƒ”แƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒแƒฎแƒแƒšแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“.
  4. แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ— แƒกแƒแƒœแƒแƒ› แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ— แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ แƒแƒœ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒแƒœ แƒจแƒ”แƒ—แƒแƒœแƒฎแƒ›แƒ”แƒ‘แƒฃแƒš แƒ“แƒ แƒแƒก.
  5. แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฌแƒแƒจแƒšแƒ kube-dns-tmp แƒ“แƒ แƒจแƒ”แƒชแƒ•แƒšแƒ serviceSubnetCIDR kube-dns แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ”แƒก แƒ’แƒ”แƒ’แƒ›แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒชแƒ”แƒ›แƒ— แƒจแƒ”แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ ~ แƒฌแƒฃแƒ—แƒแƒ›แƒ“แƒ” - แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ›แƒแƒฎแƒกแƒœแƒ˜แƒก แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก kube-dns-tmp แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ kube-dns.

แƒ›แƒแƒ“แƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก podNetwork

แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— podNetwork แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ etcdhelper-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ แƒแƒกแƒ”แƒ—แƒ˜แƒ:

  • แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ kube-system;
  • kube-controller-manager manifest-แƒ˜แƒก แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ;
  • แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— podCIDR แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  etcd-แƒจแƒ˜;
  • แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜.

แƒแƒฎแƒšแƒ แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜ แƒแƒ› แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘:

1. แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— ConfigMap's แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ kube-system:

kubectl -n kube-system edit cm kubeadm-config

- แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ data.ClusterConfiguration.networking.podSubnet แƒแƒฎแƒแƒš แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒจแƒ˜ 10.55.0.0/16.

kubectl -n kube-system edit cm kube-proxy

- แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ data.config.conf.clusterCIDR: 10.55.0.0/16.

2. แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ -แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ˜:

vim /etc/kubernetes/manifests/kube-controller-manager.yaml

- แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ --cluster-cidr=10.55.0.0/16.

3. แƒจแƒ”แƒฎแƒ”แƒ“แƒ”แƒ— แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก .spec.podCIDR, .spec.podCIDRs, .InternalIP, .status.addresses แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

kubectl get no -o json | jq '[.items[] | {"name": .metadata.name, "podCIDR": .spec.podCIDR, "podCIDRs": .spec.podCIDRs, "InternalIP": (.status.addresses[] | select(.type == "InternalIP") | .address)}]'

[
  {
    "name": "kube-2-master",
    "podCIDR": "10.244.0.0/24",
    "podCIDRs": [
      "10.244.0.0/24"
    ],
    "InternalIP": "192.168.199.2"
  },
  {
    "name": "kube-2-master",
    "podCIDR": "10.244.0.0/24",
    "podCIDRs": [
      "10.244.0.0/24"
    ],
    "InternalIP": "10.0.1.239"
  },
  {
    "name": "kube-2-worker-01f438cf-579f9fd987-5l657",
    "podCIDR": "10.244.1.0/24",
    "podCIDRs": [
      "10.244.1.0/24"
    ],
    "InternalIP": "192.168.199.222"
  },
  {
    "name": "kube-2-worker-01f438cf-579f9fd987-5l657",
    "podCIDR": "10.244.1.0/24",
    "podCIDRs": [
      "10.244.1.0/24"
    ],
    "InternalIP": "10.0.4.73"
  }
]

4. แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— podCIDR แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒขแƒแƒœแƒ˜แƒ— แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  etcd-แƒจแƒ˜:

./etcdhelper -cacert /etc/kubernetes/pki/etcd/ca.crt -cert /etc/kubernetes/pki/etcd/server.crt -key /etc/kubernetes/pki/etcd/server.key -endpoint https://127.0.0.1:2379 change-pod-cidr 10.55.0.0/16

5. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ—, แƒ แƒแƒ› podCIDR แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ:

kubectl get no -o json | jq '[.items[] | {"name": .metadata.name, "podCIDR": .spec.podCIDR, "podCIDRs": .spec.podCIDRs, "InternalIP": (.status.addresses[] | select(.type == "InternalIP") | .address)}]'

[
  {
    "name": "kube-2-master",
    "podCIDR": "10.55.0.0/24",
    "podCIDRs": [
      "10.55.0.0/24"
    ],
    "InternalIP": "192.168.199.2"
  },
  {
    "name": "kube-2-master",
    "podCIDR": "10.55.0.0/24",
    "podCIDRs": [
      "10.55.0.0/24"
    ],
    "InternalIP": "10.0.1.239"
  },
  {
    "name": "kube-2-worker-01f438cf-579f9fd987-5l657",
    "podCIDR": "10.55.1.0/24",
    "podCIDRs": [
      "10.55.1.0/24"
    ],
    "InternalIP": "192.168.199.222"
  },
  {
    "name": "kube-2-worker-01f438cf-579f9fd987-5l657",
    "podCIDR": "10.55.1.0/24",
    "podCIDRs": [
      "10.55.1.0/24"
    ],
    "InternalIP": "10.0.4.73"
  }
]

6. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒกแƒแƒ—แƒ˜แƒ—แƒแƒแƒ“.

7. แƒ—แƒฃ แƒ“แƒแƒขแƒแƒ•แƒ”แƒ‘แƒ— แƒ”แƒ แƒ— แƒ™แƒ•แƒแƒœแƒซแƒก แƒ›แƒแƒ˜แƒœแƒช แƒซแƒ•แƒ”แƒšแƒ˜ podCIDR, แƒ›แƒแƒจแƒ˜แƒœ kube-controller-manager แƒ•แƒ”แƒ  แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ“แƒ pods แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒแƒ  แƒ“แƒแƒ˜แƒ’แƒ”แƒ’แƒ›แƒ”แƒ‘แƒ.

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, podCIDR-แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ˜แƒงแƒแƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒกแƒ”). แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒ’แƒ•แƒ”แƒกแƒฌแƒแƒ•แƒšแƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ•แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ— etcd-แƒ—แƒแƒœ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ , แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช Kubernetes แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ etcd-แƒจแƒ˜ - แƒ”แƒ แƒ—แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜. (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ•แƒ”แƒšแƒ˜ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” spec.clusterIP.)

แƒกแƒฃแƒš

แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ etcd-แƒจแƒ˜ แƒฃแƒจแƒฃแƒแƒšแƒแƒ“, แƒ”.แƒ˜. Kubernetes API-แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ—. แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ”แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— "แƒ แƒ—แƒฃแƒšแƒ˜ แƒกแƒแƒฅแƒ›แƒ”แƒ”แƒ‘แƒ˜". แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒชแƒแƒ“แƒ”แƒ— แƒขแƒ”แƒฅแƒกแƒขแƒจแƒ˜ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ แƒ”แƒแƒšแƒฃแƒ  K8-แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ–แƒ”. แƒ—แƒฃแƒ›แƒชแƒ, แƒ›แƒแƒ—แƒ˜ แƒ›แƒ–แƒแƒ“แƒงแƒแƒคแƒœแƒ˜แƒก แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜ แƒคแƒแƒ แƒ—แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก PoC (แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ˜แƒก แƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ). แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— etcdhelper แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ–แƒ”, แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒ”แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ แƒ˜แƒกแƒ™แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ.

PS

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ