Kubeadm: рдиреЛрдб-рд╕реАрдбреАрдЖрд░-рдорд╛рд╕реНрдХ-рдЖрдХрд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдкреНрд░рдмрдВрдзрдХрдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдиреЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд▓реА

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдорд╛рд░реНрдЪ 2018  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubeadm

рдЗрд╕реЗ рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдиреЗ kubeadm рдореБрджреНрджреЛрдВ рдореЗрдВ рдХреМрди рд╕реЗ рдХреАрд╡рд░реНрдб рдЦреЛрдЬреЗ?

рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рдмрдВрдзрдХ рдПрдХреНрд╕реНрдЯреНрд░рд╛рдЖрд░реНрдЧ, рдиреЛрдб-рд╕реАрдбреАрдЖрд░-рдорд╛рд╕реНрдХ-рдЖрдХрд╛рд░

рдХреНрдпрд╛ рдпрд╣ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдпрд╛ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ?

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ

рдХреБрдмреЗрджрдо рд╕рдВрд╕реНрдХрд░рдг ( kubeadm version ): v1.9.3

рдкрд░реНрдпрд╛рд╡рд░рдг :

  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг ( kubectl version ): v1.9.3
  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди : VirtualBox
  • рдУрдПрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП /etc/os-release рд╕реЗ):
    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 рдЕрд╕рд▓реА рдЗрдВрдЯреЗрд▓ рдЬреАрдПрдирдпреВ/рд▓рд┐рдирдХреНрд╕
  • рдЕрдиреНрдп :

рдХреНрдпрд╛ рд╣реБрдЖ?

рдореИрдВ рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП controllerManagerExtraArgs рддрд╣рдд рдПрдХ kubeadm рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ node-cidr-mask-size рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░ рдХреЛ --node-cidr-mask-size 2 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдерд╛ рдЬреЛ рдХреБрдмреЗрджрдо рдЙрд╕ рдореВрд▓реНрдп рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдЖрдкрдХреЛ рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдереА?

рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░ рдХреЛ --node-cidr-mask-size рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЬреЛ рдореИрдВрдиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдерд╛ рд╡рд╣ рджреВрд╕рд░рд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдорд┐рд▓ рд╕рдХреЗред

рдЗрд╕реЗ рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░реЗрдВ (рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдиреНрдпреВрдирддрдо рдФрд░ рд╕рдЯреАрдХ)?

  1. рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде kubeadm init --config=myconfig.yaml рдЪрд▓рд╛рдПрдБ 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"
  2. рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЭрдВрдбреЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

рд╣рдореЗрдВ рдФрд░ рдХреБрдЫ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ?

IPv6 рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдФрд░ podSubnet рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kubeadm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереАред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@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"

рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдХреБрдмреЗрджрдо рдХреЗ if рдХрдерди рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ:
https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ kubeadm рд╕рддреНрдпрд╛рдкрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП podSubnet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА рдЕрдзрд┐рдХ рд╕рдорд░реНрдерд┐рдд рдлреИрд╢рди рдореЗрдВ рдиреЛрдб рд╕реАрдбреАрдЖрд░ рдорд╛рд╕реНрдХ рдЖрдХрд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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"

рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдХреБрдмреЗрджрдо рдХреЗ if рдХрдерди рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ:
https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ kubeadm рд╕рддреНрдпрд╛рдкрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП podSubnet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА рдЕрдзрд┐рдХ рд╕рдорд░реНрдерд┐рдд рдлреИрд╢рди рдореЗрдВ рдиреЛрдб рд╕реАрдбреАрдЖрд░ рдорд╛рд╕реНрдХ рдЖрдХрд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

@tmjd рдлрд┐рдХреНрд╕ рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдЕрдЧрд▓реА рдХреБрдмреЗрджрдо рд░рд┐рд▓реАрдЬ рдореЗрдВ

рдЗрд╕ рдкрд░ рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╣реИ?
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

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"}

рдпрд╣рд╛рдВ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд╣реБрдИ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

RakeshNagarajan picture RakeshNagarajan  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kvaps picture kvaps  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

helphi picture helphi  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ggaaooppeenngg picture ggaaooppeenngg  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jessfraz picture jessfraz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ