controllerManagerExtraArgs, node-cidr-mask-size
๋ฒ๊ทธ ๋ณด๊ณ
kubeadm ๋ฒ์ ( kubeadm version
): v1.9.3
ํ๊ฒฝ :
kubectl version
): v1.9.3
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1576.4.0
VERSION_ID=1576.4.0
BUILD_ID=2017-12-06-0449
PRETTY_NAME="Container Linux by CoreOS 1576.4.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"
COREOS_BOARD="amd64-usr"
uname -a
): Linux k8s-master 4.13.16-coreos-r2 #1 SMP Wed Dec 6 04:27:34 UTC 2017 x86_64 Intel(R) Xeon(R) CPU E3-1505M v5 @ 2.80GHz ์ ํ์ธํ
GNU/๋ฆฌ๋
์ค๋ด๊ฐ ์ง์ ๋์๋ค node-cidr-mask-size
์๋ kubeadm ์ค์ ํ์ผ์์ controllerManagerExtraArgs
ํ๋๊ทธ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. kube-controller-manager๋ --node-cidr-mask-size
์ 2๊ฐ ์ธ์คํด์ค๊ฐ ์ ๋ฌ๋๋ฉด์ ์์๋์์ต๋๋ค. ๋ ๋ฒ์งธ ์ธ์คํด์ค๋ kubeadm์ด ๋ด๊ฐ ์ค์ ํ๋ ค๊ณ ์๋ํ ๊ฐ์ ์ถ๊ฐํ๊ณ ์ฌ์ ์ํ๋ ๊ธฐ๋ณธ๊ฐ์ด์์ต๋๋ค.
kube-controller-manager๋ --node-cidr-mask-size
์ ํ๋์ ์ธ์คํด์ค๋ก ์์ํด์ผ ํ๊ฑฐ๋ ์ ์ด๋ ๋ด๊ฐ ์ง์ ํ ์ธ์คํด์ค๋ ๋ ๋ฒ์งธ ์ธ์คํด์ค๊ฐ ๋์ด์ผ ์ฐ์ ๊ถ์ ๊ฐ์ต๋๋ค.
kubeadm init --config=myconfig.yaml
๋ฅผ ์คํํฉ๋๋ค.
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:
advertiseAddress: "fd10::101"
networking:
serviceSubnet: fd30::0/110
podSubnet: "fd20:0::/120"
controllerManagerExtraArgs:
node-cidr-mask-size: "120"
์ด๊ฒ์ kubeadm์ ์ฌ์ฉํ์ฌ IPv6 ํด๋ฌ์คํฐ๋ฅผ ์ค์ ํ๊ณ podSubnet์ ์ง์ ํ๋ ค๊ณ ํ ๋ ๋ฌธ์ ์์ต๋๋ค.
1.9.6์ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค.
์ค์ ๋ก networking
ํค ์๋์ ์ต์
์ด์ด์ผ ํฉ๋๋ค. ํ์ฌ๋ ์์๊ณผ ๋์์ ๋ ๋ฒ ๊ตฌ์ฑ์ --node-cidr-mask-size
๋ฅผ ๋ฃ์ต๋๋ค.
@tmjd networking.podSubnet
๋ฅผ controllerManagerExtraArgs.cluster-cidr
ํ๊ณ allocate-node-cidrs
๋ ์ถ๊ฐํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. podSubnet
์ด ์ง์ ์ง์ ํฉ๋๋ค.
์๋ ์์ ๋ฅผ ์์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฉ๋๋ค.
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:
advertiseAddress: "fd10::101"
networking:
serviceSubnet: fd30::0/110
# MOVED BELOW podSubnet: "fd20:0::/120"
controllerManagerExtraArgs:
allocate-node-cidrs: "true"
cluster-cidr: "fd20:0::/120"
node-cidr-mask-size: "120"
์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ณธ์ง์ ์ผ๋ก ์ฌ๊ธฐ์์ kubeadm์ if
๋ฌธ์ ์ฐํํ๋ ๊ฒ์
๋๋ค.
https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342
kubeadm์ด ์ ํจ์ฑ ๊ฒ์ฌ ์ด์ธ์ ๋ค๋ฅธ ์ฉ๋๋ก podSubnet
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์ง๋ ์์ง๋ง ์ ๊ฐ ํ๋ฆด ์ ์์ต๋๋ค.
๊ทธ๋๋ ๋ ์ง์๋๋ ๋ฐฉ์์ผ๋ก ๋ ธ๋ cidr ๋ง์คํฌ ํฌ๊ธฐ๋ฅผ ์ฌ์ ์ํ ์ ์๋ ๊ฒ์ ์ ํธํฉ๋๋ค.
@tmjd ์์ ์ฌํญ์ ๋ง์คํฐ์ ๋ค์ kubeadm ๋ฆด๋ฆฌ์ค์ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
์ด์ ๋ํ ์ํ๋ ๋ฌด์์
๋๊น?
ํ์ฌ ๋ค์์ ์ฌ์ฉํ์ฌ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์ค์ ํ๊ณ ์์ต๋๋ค.
kubeadm version: &version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.4", GitCommit:"5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState:"clean", BuildDate:"2018-06-06T08:00:59Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
๋ฌธ์ ๋ ์ฌ์ ํ ์ฌ๊ธฐ์์ ๋ฐ์ํ๊ณ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@tmjd
networking.podSubnet
๋ฅผcontrollerManagerExtraArgs.cluster-cidr
ํ๊ณallocate-node-cidrs
๋ ์ถ๊ฐํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.podSubnet
์ด ์ง์ ์ง์ ํฉ๋๋ค.์๋ ์์ ๋ฅผ ์์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฉ๋๋ค.
์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ณธ์ง์ ์ผ๋ก ์ฌ๊ธฐ์์ kubeadm์
if
๋ฌธ์ ์ฐํํ๋ ๊ฒ์ ๋๋ค.https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342
kubeadm์ด ์ ํจ์ฑ ๊ฒ์ฌ ์ด์ธ์ ๋ค๋ฅธ ์ฉ๋๋ก
podSubnet
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์ง๋ ์์ง๋ง ์ ๊ฐ ํ๋ฆด ์ ์์ต๋๋ค.๊ทธ๋๋ ๋ ์ง์๋๋ ๋ฐฉ์์ผ๋ก ๋ ธ๋ cidr ๋ง์คํฌ ํฌ๊ธฐ๋ฅผ ์ฌ์ ์ํ ์ ์๋ ๊ฒ์ ์ ํธํฉ๋๋ค.