ã¯ã©ã€ã¢ã³ãããã¯ãã¯ã©ã¹ã¿ãŒå ã®ãµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ããããã«ãKubernetes ã¯ã©ã¹ã¿ãŒãžã®ã¢ã¯ã»ã¹ãæäŸããããåœç€Ÿã«æ±ããããããšãå¢ããŠããŸããããã«ãããããŒã¿ããŒã¹ããµãŒãã¹ã«çŽæ¥æ¥ç¶ããããããŒã«ã« ã¢ããªã±ãŒã·ã§ã³ãã¯ã©ã¹ã¿ãŒå ã®ã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ãããããããšãã§ããŸãã
ããšãã°ãããŒã«ã« ãã·ã³ãããµãŒãã¹ã«æ¥ç¶ããå¿
èŠãããå Žåã§ãã memcached.staging.svc.cluster.local
ã ãã®æ©èœã¯ãã¯ã©ã€ã¢ã³ããæ¥ç¶ããã¯ã©ã¹ã¿ãŒå
ã® VPN ã䜿çšããŠæäŸãããŸãã ãããè¡ãããã«ããããããµãŒãã¹ã®ãµãããããã¢ããŠã³ã¹ããã¯ã©ã¹ã¿ãŒ DNS ãã¯ã©ã€ã¢ã³ãã«ããã·ã¥ããŸãã ãããã£ãŠãã¯ã©ã€ã¢ã³ãããµãŒãã¹ã«æ¥ç¶ããããšãããšã memcached.staging.svc.cluster.local
ããªã¯ãšã¹ãã¯ã¯ã©ã¹ã¿ãŒ DNS ã«éä¿¡ãããããã«å¿ããŠã¯ã©ã¹ã¿ãŒ ãµãŒãã¹ ãããã¯ãŒã¯ãŸãã¯ããã ã¢ãã¬ã¹ãããã®ãµãŒãã¹ã®ã¢ãã¬ã¹ãåãåããŸãã
kubeadm ã䜿çšã㊠K8s ã¯ã©ã¹ã¿ãŒãæ§æããŸããããã©ã«ãã®ãµãŒãã¹ ãµããããã¯æ¬¡ã®ãšããã§ãã 192.168.0.0/16
ããããã®ãããã¯ãŒã¯ã¯ 10.244.0.0/16
ã éåžžã¯ãã¹ãŠããŸããããŸãããããã€ãã®ç¹ããããŸãã
- ãµãããã
192.168.*.*
ã¯ã©ã€ã¢ã³ã ãªãã£ã¹ ãããã¯ãŒã¯ã§ãã䜿çšãããéçºè ã®ããŒã ãããã¯ãŒã¯ã§ã¯ããã«ãã䜿çšãããŸãã ãããŠã競åãçºçããŸããããŒã ã«ãŒã¿ãŒã¯ãã®ãµããããäžã§åäœããVPN ã¯ãããã®ãµãããããã¯ã©ã¹ã¿ãŒããã¯ã©ã€ã¢ã³ãã«ããã·ã¥ããŸãã - ããã€ãã®ã¯ã©ã¹ã¿ãŒ (å®çšŒåã¯ã©ã¹ã¿ãŒãã¹ããŒãžã¯ã©ã¹ã¿ãŒãããã³/ãŸãã¯è€æ°ã®éçºã¯ã©ã¹ã¿ãŒ) ããããŸãã ãã®å Žåãããã©ã«ãã§ã¯ããã¹ãŠã®ããããšãµãŒãã¹ãåããµãããããæã€ããšã«ãªããããè€æ°ã®ã¯ã©ã¹ã¿ãŒã§ãµãŒãã¹ãåæã«æäœããå Žåã«å€§ããªå°é£ãçããŸãã
ç§ãã¡ã¯ãã£ãšä»¥åãããåããããžã§ã¯ãå ã®ãµãŒãã¹ãšãããã«ç°ãªããµããããã䜿çšãããšããæ £è¡ãæ¡çšããŠããŸãããããã«ãããäžè¬ã«ããã¹ãŠã®ã¯ã©ã¹ã¿ãŒãç°ãªããããã¯ãŒã¯ãæã€ããšã«ãªããŸãã ãã ãã皌åäžã®ã¯ã©ã¹ã¿ãŒãå€æ°ããããããã¯å€ãã®ãµãŒãã¹ãã¹ããŒããã« ã¢ããªã±ãŒã·ã§ã³ãªã©ãå®è¡ããŠãããããæåããããŒã«ãªãŒããŒããããããŸããã
ããã§ç§ãã¡ã¯ãæ¢åã®ã¯ã©ã¹ã¿ãŒã®ãµãããããå€æŽããã«ã¯ã©ãããã°ããã®ããèªåããŸããã
解決çãæ¢ã
æãäžè¬çãªæ¹æ³ã¯åäœæããããšã§ã ãã¹ãŠ ClusterIP ã¿ã€ãã®ãµãŒãã¹ã ãªãã·ã§ã³ãšããŠã
次ã®ããã»ã¹ã«ã¯åé¡ããããŸãããã¹ãŠãæ§æããåŸãããã㯠/etc/resolv.conf 㧠DNS ããŒã ãµãŒããŒãšããŠå€ã IP ã䜿çšããŸãã
ããã§ã解決çãèŠã€ãããªãã£ããããkubeadmãªã»ããã§ã¯ã©ã¹ã¿ãŒå šäœããªã»ããããå床åæåããå¿ èŠããããŸããã
ããããããã¯ãã¹ãŠã®äººã«é©ããŠããããã§ã¯ãããŸãã...ããã§ã¯ãç§ãã¡ã®ã±ãŒã¹ã«ã€ããŠããã«è©³ãã玹ä»ããŸãã
- ãã©ã³ãã«ã䜿çšã
- ã¯ã©ã¹ã¿ãŒã¯ã¯ã©ãŠããšããŒããŠã§ã¢ã®äž¡æ¹ã«ååšããŸãã
- ã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ãµãŒãã¹ãåãããã€ããããšã¯é¿ããããšèããŠããŸãã
- äžè¬ã«ãæå°éã®åé¡ãæ±ããŠãã¹ãŠãè¡ãå¿ èŠããããŸãã
- Kubernetes ã®ããŒãžã§ã³ã¯ 1.16.6 ã§ã (ãã ãã以éã®æé ã¯ä»ã®ããŒãžã§ã³ã§ãåæ§ã§ã)ã
- äž»ãªã¿ã¹ã¯ã¯ãkubeadm ã䜿çšããŠãµãŒãã¹ ãµããããã䜿çšããŠãããã€ãããã¯ã©ã¹ã¿ãŒå
ã§ã
192.168.0.0/16
ã«çœ®ãæããŠãã ãã172.24.0.0/16
.
ãããŠãå¶ç¶ã«ããç§ãã¡ã¯ Kubernetes ã®äœãã©ã®ããã« etcd ã«ä¿åãããããã䜿ã£ãŠäœãã§ããã®ããç¥ããããšããããšã«é·ãéèå³ãæã£ãŠããŸãã...ããã§ç§ãã¡ã¯æ¬¡ã®ããã«èããŸãããetcd ã®ããŒã¿ãæŽæ°ããŠãå€ã IP ã¢ãã¬ã¹ (ãµãããã) ãæ°ãããã®ã«çœ®ãæããã ãã§ã¯ã©ãã§ããããïŒÂ»
etcd ã§ããŒã¿ãæäœããããã®æ¢è£œã®ããŒã«ãæ€çŽ¢ããŸããããåé¡ãå®å
šã«è§£æ±ºãããã®ã¯èŠã€ãããŸããã§ããã (ã¡ãªã¿ã«ãetcd ã§ããŒã¿ãçŽæ¥æäœããããã®ãŠãŒãã£ãªãã£ã«ã€ããŠãåç¥ã®å Žåã¯ããªã³ã¯ãæããŠããã ããã°å¹žãã§ãã) ãã ããè¯ãåºçºç¹ãšããŠã¯ã
ãã®ãŠãŒãã£ãªãã£ã¯ã蚌ææžã䜿çšã㊠etcd ã«æ¥ç¶ããã³ãã³ãã䜿çšããŠããããããŒã¿ãèªã¿åãããšãã§ããŸãã ls
, get
, dump
.
etcdhelperãè¿œå
次ã®èãã¯è«ççã§ãããetcd ã«ããŒã¿ãæžã蟌ãæ©èœãè¿œå ããããšã§ããã®ãŠãŒãã£ãªãã£ã®è¿œå ã劚ããŠããã®ã¯äœã§ãã?ã
XNUMX ã€ã®æ°ããæ©èœãåãã etcdhelper ã®ä¿®æ£çã«ãªããŸãã changeServiceCIDR
О changePodCIDR
ã 圌女ã«ã€ã㊠ã³ãŒããèŠãããšãã§ããŸã
æ°ããæ©èœã¯äœãããã®ã§ãããã? ã¢ã«ãŽãªãºã changeServiceCIDR
:
- ãã·ãªã¢ã©ã€ã¶ãŒãäœæããŸãã
- æ£èŠè¡šçŸãã³ã³ãã€ã«ã㊠CIDR ã眮ãæããŸãã
- ã¯ã©ã¹ã¿ãŒå
ã® ClusterIP ã¿ã€ããæã€ãã¹ãŠã®ãµãŒãã¹ã調ã¹ãŸãã
- etcd ããã®å€ã Go ãªããžã§ã¯ãã«ãã³ãŒãããŸãã
- æ£èŠè¡šçŸã䜿çšããŠãã¢ãã¬ã¹ã®æåã® XNUMX ãã€ãã眮ãæããŸãã
- ãµãŒãã¹ã«æ°ãããµãããããã IP ã¢ãã¬ã¹ãå²ãåœãŠãŸãã
- ã·ãªã¢ã©ã€ã¶ãŒãäœæããGo ãªããžã§ã¯ãã protobuf ã«å€æããæ°ããããŒã¿ã etcd ã«æžã蟌ã¿ãŸãã
æ©èœ changePodCIDR
æ¬è³ªçã«äŒŒãŠãã changeServiceCIDR
- ãµãŒãã¹ä»æ§ãç·šéãã代ããã«ãããŒãã«å¯ŸããŠãããå®è¡ããå€æŽãå ããŸãã .spec.PodCIDR
æ°ãããµããããã«ã
ç·Žç¿
ãµãŒãã¹CIDRã®å€æŽ
ã¿ã¹ã¯ã®å®è£ èšç»ã¯éåžžã«åçŽã§ãããã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ãããã®åäœææã«ããŠã³ã¿ã€ã ãçºçããŸãã äž»ãªæé ã説æããåŸãçè«äžããã®ããŠã³ã¿ã€ã ãæå°éã«æããæ¹æ³ã«ã€ããŠã®èããå ±æããŸãã
æºåæé :
- å¿ èŠãªãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããããããé©çšãã etcdhelper ãã¢ã»ã³ãã«ããŸãã
- etcdã®ããã¯ã¢ãããš
/etc/kubernetes
.
serviceCIDR ãå€æŽããããã®ç°¡åãªã¢ã¯ã·ã§ã³ ãã©ã³:
- apiserver ããã³ã³ã³ãããŒã©ãŒãããŒãžã£ãŒã®ãããã§ã¹ããå€æŽããŸãã
- 蚌ææžã®åçºè¡ã
- etcd ã§ã® ClusterIP ãµãŒãã¹ã®å€æŽã
- ã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ããããåèµ·åããŸãã
以äžã«ãäžé£ã®ã¢ã¯ã·ã§ã³ã®è©³çŽ°ã瀺ããŸãã
1. ããŒã¿ ãã³ãçšã« etcd-client ãã€ã³ã¹ããŒã«ããŸãã
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. etcd ã®ããã¯ã¢ãããäœæããŸãã
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 (å«ã) ã®èšŒææžãçºè¡ãããµãŒãã¹ ãµãããããå€æŽããããã蚌ææžãåçºè¡ããå¿ èŠããããŸãã
- çŸåšã®èšŒææžãã©ã®ãã¡ã€ã³ãš 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
- 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-аЎÑÐµÑ ÐŒÐ°ÑÑÐµÑ Ñзла
- å€ã crt ãšããŒãåé€ããŸããããããããªããšæ°ãã蚌ææžã¯çºè¡ãããŸããã
rm /etc/kubernetes/pki/apiserver.{key,crt}
- API ãµãŒããŒã®èšŒææžãåçºè¡ããŸãããã
kubeadm init phase certs apiserver --config=kubeadm-config.yaml
- æ°ãããµããããã«å¯ŸããŠèšŒææžãçºè¡ãããããšã確èªããŠã¿ãŸãããã
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
- API ãµãŒããŒèšŒææžãåçºè¡ããåŸãã³ã³ãããåèµ·åããŸãã
docker ps | grep k8s_kube-apiserver | awk '{print $1}' | xargs docker restart
- ã®èšå®ãåçæããŸããã
admin.conf
:kubeadm alpha certs renew admin.conf
- 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 ã«ãŒã«ãå€ããµããããããæ°ãããµããããã«å€æŽããŸãã ãã®èšäºã§ã¯ãããŠã³ã¿ã€ã ãæå°éã«æããããã«èãããããªãã·ã§ã³ã«ã€ããŠããã«èª¬æããŸãã - åå空éå
ã® 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
æ°ãããµããããã«ã - kube-dns ã¢ãã¬ã¹ãå€æŽãããããããã¹ãŠã®ããŒã㧠kubelet æ§æãæŽæ°ããå¿
èŠããããŸãã
kubeadm upgrade node phase kubelet-config && systemctl restart kubelet
- æ®ã£ãŠããã®ã¯ãã¯ã©ã¹ã¿ãŒå
ã®ãã¹ãŠã®ããããåèµ·åããããšã ãã§ãã
kubectl get pods --no-headers=true --all-namespaces |sed -r 's/(S+)s+(S+).*/kubectl --namespace 1 delete pod 2/e'
ããŠã³ã¿ã€ã ãæå°éã«æãã
ããŠã³ã¿ã€ã ãæå°éã«æããæ¹æ³ã«ã€ããŠã®èã:
- ã³ã³ãããŒã« ãã¬ãŒã³ ãããã§ã¹ããå€æŽããåŸãããšãã°æ¬¡ã®ååã§æ°ãã kube-dns ãµãŒãã¹ãäœæããŸãã
kube-dns-tmp
ãããŠæ°ããäœæ172.24.0.10
. - äœããŸã
if
etcdhelper å ã«ãããŸãããkube-dns ãµãŒãã¹ã¯å€æŽãããŸããã - ãã¹ãŠã®kubeletã®ã¢ãã¬ã¹ã眮ãæããŸã
ClusterDNS
æ°ãããµãŒãã¹ã«ç§»è¡ããäžæ¹ã§ãå€ããµãŒãã¹ã¯æ°ãããµãŒãã¹ãšåæã«åäœãç¶ããŸãã - ã¢ããªã±ãŒã·ã§ã³ãå«ãããããèªç¶ãªçç±ã§ããŸãã¯åæãããæéã«ããŒã«ãªãŒããŒãããŸã§åŸ ã¡ãŸãã
- ãµãŒãã¹ã®åé€
kube-dns-tmp
ãããŠå€åããserviceSubnetCIDR
kube-dns ãµãŒãã¹çšã
ãã®ãã©ã³ã§ã¯ããµãŒãã¹ã®åé€äžã®ããŠã³ã¿ã€ã ã XNUMX åçšåºŠã«æå°éã«æããããšãã§ããŸãã kube-dns-tmp
ãµãŒãã¹ã®ãµãããããå€æŽãã kube-dns
.
ä¿®æ£ããããããã¯ãŒã¯
åæã«ãçµæãšããŠåŸããã etcdhelper ã䜿çšã㊠podNetwork ãå€æŽããæ¹æ³ãæ€èšããããšã«ããŸããã äžé£ã®ã¢ã¯ã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
- æ§æãä¿®æ£ããŠããŸã
kube-system
; - kube-controller-manager ãããã§ã¹ããä¿®æ£ããŸãã
- etcd 㧠podCIDR ãçŽæ¥å€æŽããŸãã
- ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒããŒããåèµ·åããŸãã
次ã«ããããã®ã¢ã¯ã·ã§ã³ã«ã€ããŠè©³ãã説æããŸãã
1. åå空éå
ã® ConfigMap ãå€æŽããŸãã 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. etcd ã«çŽæ¥å€æŽãå ããŠãpodCIDR ã眮ãæããŸãã
./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. ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒããŒãã XNUMX ã€ãã€åèµ·åããŸãããã
7. å°ãªããšã XNUMX ã€ã®ããŒããæ®ãå Žå å€ããããCIDRã®å Žåãkube-controller-manager ãèµ·åã§ããªããªããã¯ã©ã¹ã¿ãŒå ã®ããããã¹ã±ãžã¥ãŒã«ãããªããªããŸãã
å®éãpodCIDR ã®å€æŽã¯ããã«ç°¡åã«è¡ãããšãã§ããŸã (ããšãã°ã spec.clusterIP
.)
åèš
ãã®èšäºã§ã¯ãetcd ã®ããŒã¿ãçŽæ¥æäœããå¯èœæ§ã«ã€ããŠèª¬æããŠããŸãã Kubernetes API ããã€ãã¹ããŸãã ãã®ã¢ãããŒãã«ããããé£ããããšããå¯èœã«ãªãå ŽåããããŸãã æ¬æã«èšèŒãããŠããæäœãå®éã® K8s ã¯ã©ã¹ã¿ãŒã§ãã¹ãããŸããã ãã ããæ®åã®æºåç¶æ³ã¯æ¬¡ã®ãšããã§ãã PoC (æŠå¿µå®èšŒ)ã ãããã£ãŠãã¯ã©ã¹ã¿ãŒäžã§ etcdhelper ãŠãŒãã£ãªãã£ã®ä¿®æ£ããŒãžã§ã³ã䜿çšããå Žåã¯ããèªèº«ã®è²¬ä»»ã§è¡ã£ãŠãã ããã
PS
ç§ãã¡ã®ããã°ããèªã¿ãã ãã:
- «
etcd 3.4.3: ã¹ãã¬ãŒãžã®ä¿¡é Œæ§ãšã»ãã¥ãªãã£ã®èª¿æ» "; - «
Kubernetes ã§ã®ãããã¯ãŒãã³ã°ã®ããã® Calico: æŠèŠãšå°ãã®çµéš "; - «
Kubernetes ã®éçšã«ããã 6 ã€ã®èå³æ·±ãã·ã¹ãã ãã° [ããã³ãã®è§£æ±ºç] "; - «
Kubernetes ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã®ããã®ããžã¥ã¢ã« ã¬ã€ã 'ã
åºæïŒ habr.com