แฃแคแ แ แแ แฃแคแ แ แฎแจแแ แแ แแแแแแขแแแ แแแแฎแแแแ, แแแแชแแ แฌแแแแแ Kubernetes-แแก แแแแกแขแแ แแ, แ แแแ แจแแซแแแ แกแแ แแแกแแแแ แฌแแแแแ แแแแกแขแแ แจแ: แ แแแ แแแ แแแ แแแแแ แแแฃแแแแจแแ แแแแ แ แแแแแแแ แแแแแชแแแแ แแแแแก แแ แกแแ แแแกแก, แแแแแแแจแแ แแ แแแแแแฃแ แ แแแแแแแชแแ แแแแแแแชแแแแแแ แแแแกแขแแ แจแ...
แแแแแแแแแ, แกแแญแแ แแ แแฅแแแแ แแแแแแแแ แแแ แแแแ แแขแแแแ แกแแ แแแกแแแ แแแแแแจแแ แแแ 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-แจแ แแฃแจแแแแแกแแแแก, แฉแแแ แแแแแแแแแ แแแฅแแแแแ แแแฃแแแแแ.) แแฃแแชแ, แแแ แแ แกแแฌแงแแกแ แฌแแ แขแแแแ
แแ แแ แแแ แแแแก แจแแฃแซแแแ 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-แแกแแแแก (แแแ แจแแ แแก), แแแแ แฎแแแแฎแแแ แแแแแชแแแแ แกแแญแแ แ:
- แแแแฎแแ, แ แแแแ แแแแแแแแกแ แแ 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 แกแแ แแแกแก. - แจแแชแแแแแ แแแกแแแแ แแ แงแแแแ แแฃแแแแแขแจแ
ClusterDNS
แแฎแแแแ, แฎแแแ แซแแแแ แกแแ แแแกแ แแแแแ แซแแแแแก แแฃแจแแแแแก แแฎแแแแแ แแ แแแ. - แแแแแแแแ แกแแแแ แแแแแแแชแแแแแ แฆแแแแแแแแ แแแแ แฃแแแแแ แแ แแแแแกแแแแแ แแฃแแแแ แแแ แแแแแแแแแก แแแแ แแ แจแแแแแฎแแแแฃแ แแ แแก.
- แกแแ แแแกแแก แฌแแจแแ
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-แแก แจแแชแแแ แจแแแซแแแแ แแแแแ แฃแคแ แ แแแ แขแแแ แแงแแก (แแแแแแแแแ, spec.clusterIP
.)
แกแฃแ
แกแขแแขแแแจแ แแแแฎแแแฃแแแ แแแแแชแแแแแแ แแฃแจแแแแแก แจแแกแแซแแแแแแแ etcd-แจแ แฃแจแฃแแแแ, แ.แ. Kubernetes API-แก แแแแ แแแก แแแแแ. แแแแฏแแ แแก แแแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแแ "แ แแฃแแ แกแแฅแแแแแ". แฉแแแ แแแแแแชแแแแ แขแแฅแกแขแจแ แแแชแแแฃแแ แแแแ แแชแแแแ แ แแแแฃแ K8-แแก แแแแกแขแแ แแแแ. แแฃแแชแ, แแแแ แแแแแงแแคแแแก แกแขแแขแฃแกแ แคแแ แแ แแแแแงแแแแแแกแแแแก แแ แแก PoC (แแแแชแแคแชแแแก แแขแแแชแแแฃแแแแ). แแแแขแแ, แแฃ แแกแฃแ แ แแแแแแงแแแแ etcdhelper แแ แแแ แแแแก แจแแชแแแแแ แแแ แกแแ แแฅแแแแก แแแแกแขแแ แแแแ, แแแแแแแแ แแก แแฅแแแแ แ แแกแแแก แฅแแแจ.
PS
แแกแแแ แฌแแแแแแฎแแ แฉแแแแก แแแแแแ:
- ยซ
แแ แ.แจ. 3.4.3: แจแแแแฎแแแก แกแแแแแแแแแแกแ แแ แฃแกแแคแ แแฎแแแแแก แจแแกแฌแแแแ "; - ยซ
Calico แแฃแแแ แแแขแจแ แฅแกแแแแกแแแแก: แจแแกแแแแแ แแ แแชแแ แ แแแแแชแแแแแแ "; - ยซ
6 แแแกแแ แแแแ แกแแกแขแแแแก แจแแชแแแแ Kubernetes-แแก แแฃแจแแแแแจแ [แแ แแแแ แแแแแฌแงแแแขแ] "; - ยซ
แแแแฃแแแฃแ แ แแแแแแแแแแ แแฃแแแ แแแขแแก แแ แแแแแแแแแก แแแแแกแแญแ แแแแ ".
แฌแงแแ แ: www.habr.com