<p>kubeadm init "рдкрд╣рд▓рд╛ рдиреЛрдб рдкрдВрдЬреАрдХреГрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ" рдкрд░ рдЕрдЯрдХрд╛ рд╣реБрдЖ рд╣реИ</p>

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

рдЗрд╕реЗ рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореБрджреНрджреЛрдВ рдореЗрдВ рдХреМрди рд╕реЗ рдХреАрд╡рд░реНрдб рдЦреЛрдЬреЗ? (рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдбреБрдкреНрд▓реАрдХреЗрдЯ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡рд╣рд╛рдВ рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред): рдХреБрдмреЗрджрдореЛ

рдХреНрдпрд╛ рдпрд╣ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдпрд╛ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ? (рдПрдХ рдЪреБрдиреЗрдВ): рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг ( kubectl version ): 1.6.0

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

  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди : рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 3 рдореЙрдбрд▓ рдмреА
  • OS (рдЬреИрд╕реЗ / etc / os-release рд╕реЗ): Hypriot 1.4.0 (рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ 1.12.6 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛, Hypriot 1.4.0 рдЬрд╣рд╛рдЬ Docker 17.03.0-ce рдХреЗ рд╕рд╛рде)
  • рдХрд░реНрдиреЗрд▓ (рдЬреИрд╕реЗ uname -a ): 4.4.50-hypriotos-v7+
  • рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ : kubeadm
  • рдЕрдиреНрдп :

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

рдХреБрдмреЗрджрдо рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж

# kubeadm init --apiserver-cert-extra-sans redacted --pod-network-cidr 10.244.0.0/16
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.6.0
[init] Using Authorization mode: RBAC
[preflight] Running pre-flight checks
[certificates] Generated CA certificate and key.
[certificates] Generated API server certificate and key.
[certificates] API Server serving cert is signed for DNS names [kube-01 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local redacted] and IPs [10.96.0.1 10.0.1.101]
[certificates] Generated API server kubelet client certificate and key.
[certificates] Generated service account token signing key and public key.
[certificates] Generated front-proxy CA certificate and key.
[certificates] Generated front-proxy client certificate and key.
[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/scheduler.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/admin.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/controller-manager.conf"
[apiclient] Created API client, waiting for the control plane to become ready
[apiclient] All control plane components are healthy after 206.956919 seconds
[apiclient] Waiting for at least one node to register and become ready
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet

рд╡рд╣ рдЕрдВрддрд┐рдо рд╕рдВрджреЗрд╢, "рдкрд╣рд▓рд╛ рдиреЛрдб рдкрдВрдЬреАрдХреГрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ" рдЕрд╕реАрдо рд░реВрдк рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ, рдФрд░ рдХреБрдмреЗрджрдо рдХрднреА рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдПрдХ рдЕрдиреНрдп рд╕рддреНрд░ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╕рднреА рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓ рд░рд╣реЗ рдереЗ рдФрд░ рд╡реЗ рд╣реИрдВ:

$ docker ps
CONTAINER ID        IMAGE                                                                                                                          COMMAND                  CREATED             STATUS              PORTS               NAMES
54733aa1aae3        gcr.io/google_containers/kube-controller-manager-arm<strong i="6">@sha256</strong>:22f30303212b276b6868b89c8e92c5fb2cb93641e59c312b254c6cb0fa111b2a   "kube-controller-mana"   10 minutes ago      Up 10 minutes                           k8s_kube-controller-manager_kube-controller-manager-kube-01_kube-system_d44abf63e3ab24853ab86643e0b96d81_0
55b6bf2cc09e        gcr.io/google_containers/etcd-arm<strong i="7">@sha256</strong>:0ce1dcd85968a3242995dfc168abba2c3bc03d0e3955f52a0b1e79f90039dcf2                      "etcd --listen-client"   11 minutes ago      Up 11 minutes                           k8s_etcd_etcd-kube-01_kube-system_90ab26991bf9ad676a430c7592d08bee_0
bd0dc34d5e77        gcr.io/google_containers/kube-apiserver-arm<strong i="8">@sha256</strong>:c54b8c609a6633b5397173c763aba0656c6cb2601926cce5a5b4870d58ba67bd            "kube-apiserver --ins"   12 minutes ago      Up 12 minutes                           k8s_kube-apiserver_kube-apiserver-kube-01_kube-system_4d99c225ec157dc715c26b59313aeac8_1
1c4c7b69a3eb        gcr.io/google_containers/kube-scheduler-arm<strong i="9">@sha256</strong>:827449ef1f3d8c0a54d842af9d6528217ccd2d36cc2b49815d746d41c7302050            "kube-scheduler --kub"   13 minutes ago      Up 13 minutes                           k8s_kube-scheduler_kube-scheduler-kube-01_kube-system_3ef1979df7569495bb727d12ac1a7a6f_0
4fd0635f9439        gcr.io/google_containers/pause-arm:3.0                                                                                         "/pause"                 14 minutes ago      Up 14 minutes                           k8s_POD_kube-controller-manager-kube-01_kube-system_d44abf63e3ab24853ab86643e0b96d81_0
cfb4a758ad96        gcr.io/google_containers/pause-arm:3.0                                                                                         "/pause"                 14 minutes ago      Up 14 minutes                           k8s_POD_etcd-kube-01_kube-system_90ab26991bf9ad676a430c7592d08bee_0
a631d8b6c11c        gcr.io/google_containers/pause-arm:3.0                                                                                         "/pause"                 14 minutes ago      Up 14 minutes                           k8s_POD_kube-scheduler-kube-01_kube-system_3ef1979df7569495bb727d12ac1a7a6f_0
309b62fff122        gcr.io/google_containers/pause-arm:3.0                                                                                         "/pause"                 14 minutes ago      Up 14 minutes                           k8s_POD_kube-apiserver-kube-01_kube-system_4d99c225ec157dc715c26b59313aeac8_0

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреБрдмреЗрдХреЙрдиреНрдлрд┐рдЧ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдФрд░ рдХреБрдмреЗрджрдо (1.6.0) рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдХрд┐ рдиреЛрдб рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛, рдЬреЛ рджрд╛рд╡рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

$ kubectl describe node kube-01
Name:           kube-01
Role:
Labels:         beta.kubernetes.io/arch=arm
            beta.kubernetes.io/os=linux
            kubernetes.io/hostname=kube-01
Annotations:        node.alpha.kubernetes.io/ttl=0
            volumes.kubernetes.io/controller-managed-attach-detach=true
Taints:         <none>
CreationTimestamp:  Tue, 28 Mar 2017 22:06:40 -0700
Phase:
Conditions:
  Type          Status  LastHeartbeatTime           LastTransitionTime          Reason              Message
  ----          ------  -----------------           ------------------          ------              -------
  OutOfDisk         False   Tue, 28 Mar 2017 22:17:24 -0700     Tue, 28 Mar 2017 22:06:40 -0700     KubeletHasSufficientDisk    kubelet has sufficient disk space available
  MemoryPressure    False   Tue, 28 Mar 2017 22:17:24 -0700     Tue, 28 Mar 2017 22:06:40 -0700     KubeletHasSufficientMemory  kubelet has sufficient memory available
  DiskPressure      False   Tue, 28 Mar 2017 22:17:24 -0700     Tue, 28 Mar 2017 22:06:40 -0700     KubeletHasNoDiskPressure    kubelet has no disk pressure
  Ready         False   Tue, 28 Mar 2017 22:17:24 -0700     Tue, 28 Mar 2017 22:06:40 -0700     KubeletNotReady         runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Addresses:      10.0.1.101,10.0.1.101,kube-01
Capacity:
 cpu:       4
 memory:    882632Ki
 pods:      110
Allocatable:
 cpu:       4
 memory:    780232Ki
 pods:      110
System Info:
 Machine ID:            9989a26f06984d6dbadc01770f018e3b
 System UUID:           9989a26f06984d6dbadc01770f018e3b
 Boot ID:           7a77e2e8-dd62-4989-b9e7-0fb52747162a
 Kernel Version:        4.4.50-hypriotos-v7+
 OS Image:          Raspbian GNU/Linux 8 (jessie)
 Operating System:      linux
 Architecture:          arm
 Container Runtime Version: docker://1.12.6
 Kubelet Version:       v1.6.0
 Kube-Proxy Version:        v1.6.0
PodCIDR:            10.244.0.0/24
ExternalID:         kube-01
Non-terminated Pods:        (4 in total)
  Namespace         Name                        CPU Requests    CPU Limits  Memory Requests Memory Limits
  ---------         ----                        ------------    ----------  --------------- -------------
  kube-system           etcd-kube-01                0 (0%)      0 (0%)      0 (0%)      0 (0%)
  kube-system           kube-apiserver-kube-01          250m (6%)   0 (0%)      0 (0%)      0 (0%)
  kube-system           kube-controller-manager-kube-01     200m (5%)   0 (0%)      0 (0%)      0 (0%)
  kube-system           kube-scheduler-kube-01          100m (2%)   0 (0%)      0 (0%)      0 (0%)
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  CPU Requests  CPU Limits  Memory Requests Memory Limits
  ------------  ----------  --------------- -------------
  550m (13%)    0 (0%)      0 (0%)      0 (0%)
Events:
  FirstSeen LastSeen    Count   From            SubObjectPath   Type        Reason          Message
  --------- --------    -----   ----            -------------   --------    ------          -------
  14m       14m     1   kubelet, kube-01            Normal      Starting        Starting kubelet.
  14m       10m     55  kubelet, kube-01            Normal      NodeHasSufficientDisk   Node kube-01 status is now: NodeHasSufficientDisk
  14m       10m     55  kubelet, kube-01            Normal      NodeHasSufficientMemory Node kube-01 status is now: NodeHasSufficientMemory
  14m       10m     55  kubelet, kube-01            Normal      NodeHasNoDiskPressure   Node kube-01 status is now: NodeHasNoDiskPressure

рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреНрдпреВрдмрд▓реЗрдЯ рддреИрдпрд╛рд░ рдирд╣реАрдВ рдерд╛:

"рд░рдирдЯрд╛рдЗрдо рдиреЗрдЯрд╡рд░реНрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ: NetworkReady=рдЧрд▓рдд рдХрд╛рд░рдг: NetworkPluginNotReady рд╕рдВрджреЗрд╢: docker : рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд▓рдЧрдЗрди рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ: cni config"

рдХреБрдмреЗрджрдо 1.5 рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрдирдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЖрд░рдВрдн рдХрд░рдиреЗ рд╡рд╛рд▓реА рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ kubeadm init рдХреЛ CNI рдкреНрд▓рдЧрдЗрди рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡реИрд╕реЗ рднреА, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ рдХреБрдмреЗрдХреНрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд▓рд╛рд▓реИрди рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛:

$ kubectl apply -f kube-flannel.yml

рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╣рд╛рдБ рдереА:

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: flannel
  namespace: kube-system
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: kube-flannel-cfg
  namespace: kube-system
  labels:
    tier: node
    app: flannel
data:
  cni-conf.json: |
    {
      "name": "cbr0",
      "type": "flannel",
      "delegate": {
        "isDefaultGateway": true
      }
    }
  net-conf.json: |
    {
      "Network": "10.244.0.0/16",
      "Backend": {
        "Type": "vxlan"
      }
    }
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: kube-flannel-ds
  namespace: kube-system
  labels:
    tier: node
    app: flannel
spec:
  template:
    metadata:
      labels:
        tier: node
        app: flannel
    spec:
      hostNetwork: true
      nodeSelector:
        beta.kubernetes.io/arch: amd64
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      serviceAccountName: flannel
      containers:
      - name: kube-flannel
        image: quay.io/coreos/flannel:v0.7.0-amd64
        command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr" ]
        securityContext:
          privileged: true
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        volumeMounts:
        - name: run
          mountPath: /run
        - name: flannel-cfg
          mountPath: /etc/kube-flannel/
      - name: install-cni
        image: quay.io/coreos/flannel:v0.7.0-amd64
        command: [ "/bin/sh", "-c", "set -e -x; cp -f /etc/kube-flannel/cni-conf.json /etc/cni/net.d/10-flannel.conf; while true; do sleep 3600; done" ]
        volumeMounts:
        - name: cni
          mountPath: /etc/cni/net.d
        - name: flannel-cfg
          mountPath: /etc/kube-flannel/
      volumes:
        - name: run
          hostPath:
            path: /run
        - name: cni
          hostPath:
            path: /etc/cni/net.d
        - name: flannel-cfg
          configMap:
            name: kube-flannel-cfg

рд▓реЗрдХрд┐рди рдпрд╣ рдХрднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реБрдЖ:

$ kubectl describe ds kube-flannel-ds -n kube-system
Name:       kube-flannel-ds
Selector:   app=flannel,tier=node
Node-Selector:  beta.kubernetes.io/arch=amd64
Labels:     app=flannel
        tier=node
Annotations:    kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"extensions/v1beta1","kind":"DaemonSet","metadata":{"annotations":{},"labels":{"app":"flannel","tier":"node"},"name":"kube-flannel-ds","n...
Desired Number of Nodes Scheduled: 0
Current Number of Nodes Scheduled: 0
Number of Nodes Scheduled with Up-to-date Pods: 0
Number of Nodes Scheduled with Available Pods: 0
Number of Nodes Misscheduled: 0
Pods Status:    0 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:       app=flannel
            tier=node
  Service Account:  flannel
  Containers:
   kube-flannel:
    Image:  quay.io/coreos/flannel:v0.7.0-amd64
    Port:
    Command:
      /opt/bin/flanneld
      --ip-masq
      --kube-subnet-mgr
    Environment:
      POD_NAME:      (v1:metadata.name)
      POD_NAMESPACE:     (v1:metadata.namespace)
    Mounts:
      /etc/kube-flannel/ from flannel-cfg (rw)
      /run from run (rw)
   install-cni:
    Image:  quay.io/coreos/flannel:v0.7.0-amd64
    Port:
    Command:
      /bin/sh
      -c
      set -e -x; cp -f /etc/kube-flannel/cni-conf.json /etc/cni/net.d/10-flannel.conf; while true; do sleep 3600; done
    Environment:    <none>
    Mounts:
      /etc/cni/net.d from cni (rw)
      /etc/kube-flannel/ from flannel-cfg (rw)
  Volumes:
   run:
    Type:   HostPath (bare host directory volume)
    Path:   /run
   cni:
    Type:   HostPath (bare host directory volume)
    Path:   /etc/cni/net.d
   flannel-cfg:
    Type:   ConfigMap (a volume populated by a ConfigMap)
    Name:   kube-flannel-cfg
    Optional:   false
Events:     <none>

рдореИрдВрдиреЗ рд╡реИрд╕реЗ рднреА рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдмрд╕ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдЯреЛрдХрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП kubeadm token create рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рджреВрд╕рд░реА рдорд╢реАрди рдкрд░:

kubeadm join --token $TOKEN 10.0.1.101:6443
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[preflight] Running pre-flight checks
[discovery] Trying to connect to API Server "10.0.1.101:6443"
[discovery] Created cluster-info discovery client, requesting info from "https://10.0.1.101:6443"
[discovery] Failed to request cluster info, will try again: [User "system:anonymous" cannot get configmaps in the namespace "kube-public". (get configmaps cluster-info)]
[discovery] Failed to request cluster info, will try again: [User "system:anonymous" cannot get configmaps in the namespace "kube-public". (get configmaps cluster-info)]
[discovery] Failed to request cluster info, will try again: [User "system:anonymous" cannot get configmaps in the namespace "kube-public". (get configmaps cluster-info)]

рдФрд░ рдЕрдВрддрд┐рдо рд╕рдВрджреЗрд╢ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ред

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

kubeadm init рдХреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдЯреЛрдХрди рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрд╕рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдПрдкреАрдЖрдИ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд▓рд╛рд▓реИрди рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрд░рдмреАрдПрд╕реА рднреВрдорд┐рдХрд╛рдПрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдпрджрд┐ рдХреЛрдИ рдФрд░ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд▓рд╛рд▓реИрди рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ kube-flannel-rbac.yml рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

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

рдЙрдмрдВрдЯреВ 16.04.02, рдЬреАрд╕реАрдИ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╡реАрдПрдорд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди, рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг 1.12.6, рдХрд░реНрдиреЗрд▓ 4.8.0-44-рдЬреЗрдиреЗрд░рд┐рдХ 47 ~ 16.04.1-рдЙрдмрдВрдЯреВ рдПрд╕рдПрдордкреА рджреЛрдиреЛрдВ рдкрд░ рдореЗрд░реЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдХреНрдпреВрдмрд▓реЗрдЯ рд▓реЙрдЧ рддреНрд░реБрдЯрд┐ рд╕реЗ рдкрд╣рд▓реЗ /etc/cni/net.d рдЧреБрдо рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рд╣рдо jimmycuadra рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ:

Mar 29 04:43:25 instance-1 kubelet[6800]: W0329 04:43:25.763117    6800 cni.go:157] Unable to update cni config: No networks found in /etc/cni/net.d
Mar 29 04:43:25 instance-1 kubelet[6800]: E0329 04:43:25.763515    6800 kubelet.go:2067] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

рдЙрдмрдВрдЯреВ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╡реАрдПрдо рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛ред рдбреЙрдХрд░ 1.12.5

root@ip-10-43-0-20 :~# kubeadm рд╕рдВрд╕реНрдХрд░рдг
kubeadm рд╕рдВрд╕реНрдХрд░рдг: version.Info {рдореЗрдЬрд░: "1", рдорд╛рдЗрдирд░: "6", GitVersion: "v1.6.0", GitCommit: "fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState: "рдХреНрд▓реАрди", рдмрд┐рд▓реНрдбрдбреЗрдЯ: "2017-03-28T16:24: 30Z", рдЧреЛрд╡рд░реНрд╕рди: "go1.7.5"

root@ip-10-43-0-20 :~# uname -a
рд▓рд┐рдирдХреНрд╕ рдЖрдИрдкреА-10-43-0-20 4.4.0-45-рдЬреЗрдиреЗрд░рд┐рдХ #66-рдЙрдмрдВрдЯреВ рдПрд╕рдПрдордкреА рдмреБрдз рдЕрдХреНрдЯреВрдмрд░ 19 14:12:37 рдпреВрдЯреАрд╕реА 2016 x86_64 x86_64 x86_64 рдЬреАрдПрдирдпреВ/рд▓рд┐рдирдХреНрд╕

root@ip-10-43-0-20 :~# kubeadm init --config cfg.yaml
[kubeadm] рдЪреЗрддрд╛рд╡рдиреА: kubeadm рдмреАрдЯрд╛ рдореЗрдВ рд╣реИ, рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред
[init] Kubernetes рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: v1.6.0
[init] рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: RBAC
[init] рдЪреЗрддрд╛рд╡рдиреА: рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЙрдбрдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП --рдХреНрд▓рд╛рдЙрдб-рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рднреА рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
(/etc/systemd/system/kubelet.service.d/10-kubeadm.conf рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)
[рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ] рдкреНрд░реА-рдлреНрд▓рд╛рдЗрдЯ рдЪреЗрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
[рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ] рдХреНрдпреВрдмрд▓реЗрдЯ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рдирд╛
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реАрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреАред
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдЙрддреНрдкрдиреНрди рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреАред
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рд╕рд░реНрд╡рд┐рдВрдЧ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдбреАрдПрдирдПрд╕ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реИ [рдЖрдИрдкреА-10-43-0-20 рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ред ]
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдЙрддреНрдкрдиреНрди рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреАред
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛ рдЯреЛрдХрди рд╕рд╛рдЗрдирд┐рдВрдЧ рдХреА рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреАред
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдлреНрд░рдВрдЯ-рдкреНрд░реЙрдХреНрд╕реА CA рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА.
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдлреНрд░рдВрдЯ-рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреАред
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рдЕрдм "/etc/kubernetes/pki" рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ
[kubeconfig] рдбрд┐рд╕реНрдХ рдкрд░ KubeConfig рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреА: "/etc/kubernetes/admin.conf"
[kubeconfig] рдбрд┐рд╕реНрдХ рдкрд░ KubeConfig рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреА: "/etc/kubernetes/kubelet.conf"
[kubeconfig] рдбрд┐рд╕реНрдХ рдкрд░ KubeConfig рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреА: "/etc/kubernetes/controller-manager.conf"
[kubeconfig] рдбрд┐рд╕реНрдХ рдкрд░ KubeConfig рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреА: "/etc/kubernetes/scheduler.conf"
[рдПрдкреНрд▓рд┐рдХреЗрдВрдЯ] рдПрдкреАрдЖрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдХреЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ
[рдЖрд╡реЗрджрдХ] 16.531681 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рд╕рднреА рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдШрдЯрдХ рд╕реНрд╡рд╕реНрде рд╣реИрдВ
[рдЖрд╡реЗрджрдХ] рдХрдо рд╕реЗ рдХрдо рдПрдХ рдиреЛрдб рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдФрд░ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ
[рдЖрд╡реЗрджрдХ] рдкрд╣рд▓рд╛ рдиреЛрдб рдкрдВрдЬреАрдХреГрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ
[рдЖрд╡реЗрджрдХ] рдкрд╣рд▓рд╛ рдиреЛрдб рдкрдВрдЬреАрдХреГрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ
[рдЖрд╡реЗрджрдХ] рдкрд╣рд▓рд╛ рдиреЛрдб рдкрдВрдЬреАрдХреГрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ

++ рдПрдХ рд╣реА рдореБрджреНрджрд╛ (рдЙрдмрдВрдЯреВ 16.04.1)

рдпрд╣рд╛рдВ рдЙрдмрдВрдЯреВ 16.04 рдкрд░ рд╡рд╣реА рдмрд╛рдд рд╣реИ

CentOS 7 рдкрд░, рдореИрдВрдиреЗ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдХреЗ 1.5.4 ред рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреИрдпрд╛рд░ рдЪреЗрдХ 1.6.0 рдХреНрдпреВрдмрд▓реЗрдЯ рдореЗрдВ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

K8s 1.6.0 . рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдирдВрдЧреЗ рдзрд╛рддреБ x64 рдорд╢реАрди рдкрд░ CentOS 7 рдкрд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛

рдЙрдмрдВрдЯреВ 16.04 рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛

рдЙрдмрдВрдЯреВ 16.04 рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ kubelet рдкреИрдХреЗрдЬ рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред

# apt install kubelet=1.5.6-00

@ctrlaltdel рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХреНрдпреВрдмрд▓реЗрдЯ рдореБрджреНрджрд╛ рд╣реИред рд╕реАрдПрдирдЖрдИ рдХреЗ рдЕрдкреБрд╖реНрдЯ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдиреЛрдб рдХреЛ рддреИрдпрд╛рд░ рдирд╣реАрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЗрд╡рд▓ рдкреЙрдбреНрд╕ рдЬрд┐рдиреНрд╣реЗрдВ CNI рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрдиреНрд╣реЗрдВ рддреИрдпрд╛рд░ рдирд╣реАрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@jbeda рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрдм рд╣реЛрдЧрд╛?

@kristiandrucker - рдирд╣реАрдВ - рдЕрднреА рднреА рдкрддрд╛ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЬрдбрд╝ рд╕реЗ рдЙрдЦрд╛рдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

@jbeda рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╣рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдлрд┐рд░ рдХреНрдпрд╛? рд╕реНрд░реЛрдд рд╕реЗ рдХреНрдпреВрдмрд▓реЗрдЯ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ?

@kristiandrucker рдпрд╣ k8s рдХрд╛ рдПрдХ рдмрд┐рдВрджреБ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдмрд╛рд╣рд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд░ рдпрд╣ рдПрдХ kubelet рдореБрджреНрджрд╛ рд╣реИ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ https://github.com/kubernetes/kubernetes/pull/43474 рдореВрд▓ рдХрд╛рд░рдг рд╣реИред рдПрдХ рдмрдЧ рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд░реНрддреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@dcbw рдЖрдк рдЖрд╕рдкрд╛рд╕ рд╣реИрдВ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдореЙрдирд╕реЗрдЯ рдЙрди рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдиреЗрдЯ рд╡рд░реНрдХрд░реЗрдбреА: рдЭреВрдареА рд╕реНрдерд┐рддрд┐ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдкреЙрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдареАрдХ рдирд╣реАрдВ рд╣реИрдВред рд╣рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ; рдПрдХ рдкреЙрдб рдЬреЛ рд╣реЛ stNetwork:true рдХреЛ рдЙрд╕ рдиреЛрдб рдкрд░ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ Net workReady:false рд╣реЛ , рд▓реЗрдХрд┐рди рдПрдХ рд╣реЛ stNetwork:false рдкреЙрдб рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдбреЗрдордирд╕реЗрдЯ рдкрд░ scheduler.alpha.kubernetes.io/critical-pod рдПрдиреЛрдЯреЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЪреАрдЬреЗрдВ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ?

@janetkuo @lukaszo рдХреНрдпрд╛ рдЖрдк рдбреАрдПрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЯреНрд░рд╛рдЗрдПрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

#sig-network on slack, btw рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдЪрд▓ рд░рд╣реА рд╣реИред

рд╡рд╣реА рдореБрджреНрджрд╛ CentOS 7 x64

@prapdm рдпрд╣ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреЛ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред

CentOS Linux рд░рд┐рд▓реАрдЬрд╝ 7.3.1611 (рдХреЛрд░)

рдореИрдВрдиреЗ рдЗрд╕реЗ Ubuntu 16.04 рдХреЗ рд╕рд╛рде рдПрдХ рдиреЛрдб рдкрд░ рдЖрдЬрд╝рдорд╛рдпрд╛ рд╣реИред рдпрд╣ "рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ" рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлрд▓рд╛рд▓реИрди рдбреЗрдордирд╕реЗрдЯ рднреА рдмрдирд╛рдпрд╛ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдПрдХ рдкреЙрдб рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ред рдбреЗрдореЙрди рдкреЙрдб рд╕реНрд╡рдпрдВ CrashLoopBackOff рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рдЧрдпрд╛: E0329 22:57:03.065651 1 main.go:127] Failed to create SubnetManager: error retrieving pod spec for 'kube-system/kube-flannel-ds-z3xgn': the server does not allow access to the requested resource (get pods kube-flannel-ds-z3xgn)

рдореИрдВ рд╕реЗрдВрдЯреЛрд╕ рдкрд░ рднреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдбреЗрдордирд╕реЗрдЯ рдХреЛ рджреЛрд╖ рджреЗрдирд╛ рд╣реИ, рдХреБрдмреЗрджрдо рдпрд╣рд╛рдВ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред

рдпрд╣ рдПрдХ рдЖрд░рдмреАрдПрд╕реА рдЕрдиреБрдорддрд┐ рддреНрд░реБрдЯрд┐ рд╣реИред

@jimmycuadra рдореИрдВрдиреЗ рдЕрднреА рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рдкрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЖрд░реНрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИред

рдлрд▓рд╛рд▓реИрди рдбреЗрдореЙрди рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ:

``` рдиреЛрдб рдЪрдпрдирдХрд░реНрддрд╛:
beta.kubernetes.io/arch: amd64

but your node is labeled with: 

beta.kubernetes.io/arch=arm
```

рддреЛ рдбреЗрдордирд╕реЗрдЯ рдЗрд╕ рдиреЛрдб рдкрд░ рдкреЙрдб рд▓рдВрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ рдиреЛрдб рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдЖрдкрдХреЛ рдЕрднреА рднреА rbac рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреА, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж @mikedanese рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред

рдЖрд╣, рдзрдиреНрдпрд╡рд╛рдж @lukaszo! рдореИрдВ рдЗрд╕ рдмрд╛рд░ рдЖрд░рдкреАрдЖрдИ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ (рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ k8s 1.5 рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛) рдФрд░ рдЙрд╕ рдЪрд░рдг рдХреЛ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред рдЬрдм рдбреЗрдореЙрди рд╕реЗрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рддреЛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЦреЛрдЬ рд▓рд┐рдпрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╡рд╣ рджреВрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред :}

рдЬрдм рдореИрдВ рдпрд╣рд╛рдВ рдмрддрд╛рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ:
https://blog.hypriot.com/post/setup-kubernetes-raspberry-pi-cluster/

рд╕рд╣реА рдлрд▓рд╛рд▓реИрди рдиреЗрдЯрд╡рд░реНрдХ рдкреЙрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @jimmycuadra рдЗрд╕реЗ @lukaszo рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЬрдм рд╕рдВрджреЗрд╢ [apiclient] First node has registered, but is not ready yet рдмрд╛рдврд╝ рдЖрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХреЗрдВ:

curl -sSL https://rawgit.com/coreos/flannel/master/Documentation/kube-flannel.yml | kubectl create -f -

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

curl -sSL https://rawgit.com/coreos/flannel/master/Documentation/kube-flannel.yml | sed "s/amd64/arm/g" | kubectl create -f -

рдлрд┐рд░ рдпрд╣ рдЦрддреНрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛:

[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node has registered, but is not ready yet
[apiclient] First node is ready after 245.050597 seconds
[apiclient] Test deployment succeeded
[token] Using token: 4dc99e............
[apiconfig] Created RBAC rules
[addons] Created essential addon: kube-proxy
[addons] Created essential addon: kube-dns

Your Kubernetes master has initialized successfully!

To start using your cluster, you need to run (as a regular user):

  sudo cp /etc/kubernetes/admin.conf $HOME/
  sudo chown $(id -u):$(id -g) $HOME/admin.conf
  export KUBECONFIG=$HOME/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  http://kubernetes.io/docs/admin/addons/

You can now join any number of machines by running the following on each node
as root:

  kubeadm join --token 4dc99e........... 192.168.1.200:6443

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рддрдп рдХрд┐рдпрд╛:
рдЖрдкрдХреЛ рдЬрдбрд╝ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

kubeadm рдХреЗ 1.6.0 рдореЗрдВ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ $KUBELET_NETWORK_ARGS рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП: /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

рдлрд┐рд░ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ

systemctl daemon-reload

kubeadm init

рдЗрд╕рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ ... рд╕рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж

рдЖрдк рдЬрд┐рд╕ рдиреЗрдЯрд╡рд░реНрдХ рдРрдб-рдСрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: http://kubernetes.io/docs/admin/addons/

рдХреИрд▓рд┐рдХреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╣реИред

@thelastworm
рдореИрдВрдиреЗ рдмрд╕ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдЙрдмрдВрдЯреВ 16.04.2 рдПрд▓рдЯреАрдПрд╕, рдХреБрдмреЗрджрдо 1.6.0
рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрджрдо рдЙрдард╛рдП:

  1. /etc/systemd/system/kubelet.service.d/10-kubeadm.conf рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ $KUBELET_NETWORK_ARGS рдХреЛ рд╣рдЯрд╛ рджреЗрдВ
  2. kubeadm reset рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
  3. kubeadm init --token=<VALUE> --apiserver-advertise-address=<IP>

[рд╕рдВрдкрд╛рджрд┐рдд]
рдпрд╣ @ srinat999 рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ systemctl daemon-reload рд╕реЗ рдкрд╣рд▓реЗ kubeadm init рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ

@jcorral рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдлрд▓рд╛рд▓реИрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВ рдПрдХ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд API рдкреЛрд░реНрдЯ рдЕрдм kubeadm рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

curl -sSL https://rawgit.com/coreos/flannel/master/Documentation/kube-flannel.yml | \
kubectl --kubeconfig /etc/kubernetes/admin.conf create -f -

@MaximF рдЖрдкрдХреЛ systemctl daemon-reload ред рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред

@jcorral рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рджред

@MaximF рдореИрдВ рд╕рд┐рд░реНрдл рдкреБрдирд░рд╛рд░рдВрдн рджрд╛рдирд╡ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди

kubeadm init рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░реНрдг рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг: рд╕рдВрд╕реНрдХрд░рдгред рдЬрд╛рдирдХрд╛рд░реА {рдореЗрдЬрд░: "1", рдорд╛рдЗрдирд░: "6", рдЧрд┐рдЯрд╡рд░реНрд╕рди: "v1.6.0", рдЧрд┐рдЯрдХреЙрдорд┐рдЯ: "fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState: "рдХреНрд▓реАрди", рдмрд┐рд▓реНрдбрдбреЗрдЯ: "2017-03-28T16:36: 33Z", GoVersion: "go1.7.5", рдХрдВрдкрд╛рдЗрд▓рд░: "gc", рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: "linux/amd64"}
рд╕рд░реНрд╡рд░ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрд╢рди

@ рд╣рд░реАрдмреЛрд▓реЗ
рдЖрдкрдХреЛ KUBECONFIG env var . рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рд╕реАрдПрдирдЖрдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рдордХрд╛рдЬ рдХреЗ рдмрд╛рдж рдлрд▓рд╛рд▓реИрди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рд╣реИ? рдореИрдВ рддреИрдпрд╛рд░ рдирд╣реАрдВ рдореБрджреНрджреЗ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдлрд▓рд╛рд▓реИрди рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

Failed to create SubnetManager: error retrieving pod spec for 'kube-system/kube-flannel-ds-g5cbj': the server does not allow access to the requested resource (get pods kube-flannel-ds-g5cbj)

рдкреЙрдбреНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ "CrashLoopBackOff" рджрд┐рдЦрд╛рддреА рд╣реИ

рдПрдкреАрдЖрдИ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд▓рд╛рд▓реИрди рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрд░рдмреАрдПрд╕реА рднреВрдорд┐рдХрд╛рдПрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдПрдкреАрдЖрдИ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд▓рд╛рд▓реИрди рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрд░рдмреАрдПрд╕реА рднреВрдорд┐рдХрд╛рдПрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдпрджрд┐ рдХреЛрдИ рдФрд░ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд▓рд╛рд▓реИрди рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ kube-flannel-rbac.yml рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдореВрд▓ рдореБрджреНрджрд╛ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЯрд┐рдХрдЯ рдмрдВрдж рд╣реИ , рд╣рдореЗрдВ рдЗрд╕реЗ рднреА рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП :)

рд╕рд┐рд░реНрдл рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП: рдпрд╣ рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рдЙрдмрдВрдЯреВ 16.04 рдХреЗ рддрд╣рдд рдЕрджреНрдпрддрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

1.6.1 рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдЙрди рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА!

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд╕реЗрдВрдЯреЛрд╕-рд░рд┐рд▓реАрдЬрд╝-7-3.1611.el7.centos.x86_64 рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реЗрдЯрдЕрдк рдХрд┐рдпрд╛ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ):

1) (/etc/yum.repo.d/kubernetes.repo рд╕реЗ) baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64-unstable
=> рдирд╡реАрдирддрдо Kubernetes 1.6.1 . рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдерд┐рд░ рднрдВрдбрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
2) рдпрдо рдЗрдВрд╕реНрдЯрд╛рд▓-рд╡рд╛рдИ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреБрдмреЗрджрдо рдХреБрдмреЗрдХреНрдЯрд▓ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рд╕реАрдПрдирдЖрдИ
3) (/etc/systemd/system/kubelet.service.d/10-kubeadm.conf) рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ "--cgroup-driver=systemd" рдЬреЛрдбрд╝реЗрдВред
=> рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ cgroup-driver рдХреЗ рд▓рд┐рдП systemd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрдмрдХрд┐ kubelet cgroup-driver рдХреЗ рд▓рд┐рдП cgroupfs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
4) systemctl рдХреНрдпреВрдмрд▓реЗрдЯ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ && systemctl рд╕реНрдЯрд╛рд░реНрдЯ рдХреНрдпреВрдмрд▓реЗрдЯ
5) рдХреБрдмреЗрджрдо рдЗрдирд┐рдЯ --рдкреЙрдб-рдиреЗрдЯрд╡рд░реНрдХ-рд╕реАрдбреАрдЖрд░ 10.244.0.0/16
=> рдпрджрд┐ рдЖрдк --api-advertise-addresses рдЬреЛрдбрд╝рддреЗ рдереЗ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп --apiserver-advertise-address рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
6) cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
рдирд┐рд░реНрдпрд╛рдд KUBECONFIG=$HOME/admin.conf
=> рдЗрд╕ рдЪрд░рдг рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХреЛ kubectl get рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ
=> рдореИрдВрдиреЗ рдЗрд╕реЗ 1.5.2 . рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛
7) Kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
=> 1.6.0 рдПрдХ рднреВрдорд┐рдХрд╛-рдЖрдзрд╛рд░рд┐рдд рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдлрд▓рд╛рд▓реИрди рдбреЗрдореЛрдВрд╕реЗрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ ClusterRole рдФрд░ рдПрдХ ClusterRoleBinding рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП
8) Kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
=> рдПрдХ рдлрд▓рд╛рд▓реИрди рдбреЗрдореЛрдВрд╕реЗрдЯ рдмрдирд╛рдПрдВ
9) (рдкреНрд░рддреНрдпреЗрдХ рджрд╛рд╕ рдиреЛрдб рдкрд░) рдХреБрдмреЗрджрдо рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ --token (рдЖрдкрдХрд╛ рдЯреЛрдХрди) (рдЖрдИрдкреА):(рдкреЛрд░реНрдЯ)
=> рдЬреИрд╕рд╛ рдХрд┐ kubeadm init . рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЪрд░рдг Kubernetes-1.6.0, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ kubeadm рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рдореБрджреНрджреЛрдВ рдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХрд╛ рд╕рдордп рдмрдЪреЗрдЧрд╛ред

@eastcirclek @Sliim рдЖрдк рдорд╣рд╛рди рд╣реИрдВ

@eastcirclek рдпрд╣ рд╕рдЯреАрдХ рдХрджрдо рдереЗ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЕрднреА рдХрдИ рдордВрдЪреЛрдВ рдкрд░ рднреА рдХреНрд╡реЗрд░реА рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рд╕рдордпрдХреНрд╖реЗрддреНрд░ рдЕрдВрддрд░, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╡рд┐рд╖рдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрджрдЧрд╛рд░ рдерд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкрд░ рдЙрдмрдВрдЯреВ 16.04 рд╕рд░реНрд╡рд░ рд╣реИ рдФрд░ рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реИ

  1. /etc/systemd/system/kubelet.service.d/10-kubeadm.conf рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ $KUBELET_NETWORK_ARGS рдХреЛ рд╣рдЯрд╛ рджреЗрдВ
  2. kubeadm рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ
  3. рдХреБрдмреЗрджрдо рдЗрдирд┐рдЯ --рдЯреЛрдХрди=--apiserver-рд╡рд┐рдЬреНрдЮрд╛рдкрди-рдкрддрд╛=

рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЬрдм рдореИрдВ рдХреИрд▓рд┐рдХреЛ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
рд╕рд░реНрд╡рд░ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрд╢рди

рдХреНрдпрд╛ k8s рдЯреАрдо рдкреИрдЪ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж

@overip рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреИрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ... Kubectl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдмрд╕ рд╕рд╣реА kubeconfig рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред kubeadm рдХреЛ рдЗрд╕реЗ /etc/kubernetes/admin.conf рдкрд░ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

@jimmycuadra рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@overip kubeadm init рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ:

To start using your cluster, you need to run (as a regular user):

  sudo cp /etc/kubernetes/admin.conf $HOME/
  sudo chown $(id -u):$(id -g) $HOME/admin.conf
  export KUBECONFIG=$HOME/admin.conf

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ $HOME/.kube/config рдкрд░ рдХреЙрдкреА рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдХреБрдмреЗрдХреНрдЯрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдЧрд╛ред рдлрд┐рд░ рдЖрдкрдХреЛ KUBECONFIG рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ kubectl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ ~/.kube/config рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП scp (рдпрд╛ рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреЙрдкреА рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ GitHub рдЕрдВрдХ рдореЗрдВ "admin.conf" рдЦреЛрдЬреЗрдВред рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХреБрдЫ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@eastcirclek - рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдиреЛрдбреНрд╕ рдлрд▓рд╛рд▓реИрди рдХреЛ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВред
(рдиреЛрдЯ: рдорд╛рд╕реНрдЯрд░ рдкрд░ рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд╣реИред)

Apr 13 22:31:11 node2 kubelet[22893]: I0413 22:31:11.666206   22893 kuberuntime_manager.go:458] Container {Name:install-cni Image:quay.io/coreos/flannel:v0.7.0-amd64 Command:[/bin/sh -c set -e -x; cp -f /etc/kube-flannel/cni-conf.json /etc/cni/net.d/10-flannel.conf; while true; do sleep 3600; done] Args:[] WorkingDir: Ports:[] EnvFrom:[] Env:[] Resources:{Limits:map[] Requests:map[]} VolumeMounts:[{Name:cni ReadOnly:false MountPath:/etc/cni/net.d SubPath:} {Name:flannel-cfg ReadOnly:false MountPath:/etc/kube-flannel/ SubPath:} {Name:flannel-token-g65nf ReadOnly:true MountPath:/var/run/secrets/kubernetes.io/serviceaccount SubPath:}] LivenessProbe:nil ReadinessProbe:nil Lifecycle:nil TerminationMessagePath:/dev/termination-log TerminationMessagePolicy:File ImagePullPolicy:IfNotPresent SecurityContext:nil Stdin:false StdinOnce:false TTY:false} is dead, but RestartPolicy says that we should restart it.
Apr 13 22:31:11 node2 kubelet[22893]: I0413 22:31:11.666280   22893 kuberuntime_manager.go:742] checking backoff for container "install-cni" in pod "kube-flannel-ds-3smf7_kube-system(2e6ad0f9-207f-11e7-8f34-0050569120ff)"
Apr 13 22:31:12 node2 kubelet[22893]: I0413 22:31:12.846325   22893 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/configmap/2e6ad0f9-207f-11e7-8f34-0050569120ff-flannel-cfg" (spec.Name: "flannel-cfg") pod "2e6ad0f9-207f-11e7-8f34-0050569120ff" (UID: "2e6ad0f9-207f-11e7-8f34-0050569120ff").
Apr 13 22:31:12 node2 kubelet[22893]: I0413 22:31:12.846373   22893 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/2e6ad0f9-207f-11e7-8f34-0050569120ff-flannel-token-g65nf" (spec.Name: "flannel-token-g65nf") pod "2e6ad0f9-207f-11e7-8f34-0050569120ff" (UID: "2e6ad0f9-207f-11e7-8f34-0050569120ff").

рдмрд╕ рдореЗрд░реА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╡рд┐рдзрд┐ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ $KUBELET_NETWORK_ARGS рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ CNI рд╕рдХреНрд╖рдо/рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рд╣реИред $KUBELET_NETWORK_ARGS рдХреЛ рд╣рдЯрд╛рдирд╛ рдФрд░ рдлрд┐рд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИред
рдЬрдм kubeadm init рджрд┐рдЦрд╛рддрд╛ рд╣реИ "[apclient] рдкрд╣рд▓рд╛ рдиреЛрдб рдкрдВрдЬреАрдХреГрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ", k8s рдХреНрд▓рд╕реНрдЯрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдЙрд╕ рд╕рдордп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ https://kubernetes.io/docs/getting-started-guides/kubeadm/ рдХреЗ рдЪрд░рдг 3/4 рдкрд░ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

To start using your cluster, you need to run (as a regular user):

  sudo cp /etc/kubernetes/admin.conf $HOME/
  sudo chown $(id -u):$(id -g) $HOME/admin.conf
  export KUBECONFIG=$HOME/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:  http://kubernetes.io/docs/admin/addons/

рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреЙрдбрдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреЙрдбрдиреЗрдЯрд╡рд░реНрдХ рдиреАрддрд┐ рдХреЗ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдлрд▓рд╛рд▓реИрди рд▓реЗрдирд╛ред рдореИрдВ рдмрд╕ рдлрд▓рд╛рд▓реИрди рдХреЗ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░-рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рднреВрдорд┐рдХрд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрд╛рдВрдзрддрд╛ рд╣реВрдВред рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдлрд▓рд╛рд▓реИрди рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднреВрдорд┐рдХрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред BTW, рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреИрд╢рдмреЛрд░реНрдб рдЬреИрд╕реА рдЕрдиреНрдп рдРрдбрдСрди рд╕реЗрд╡рд╛ рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: flannel:daemonset
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: flannel
  namespace:  kube-system

рдкреЙрдбрдиреЗрдЯрд╡рд░реНрдХ рд╕рд░реНрд╡рд░ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, kubeadm init рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдиреЛрдб рддреИрдпрд╛рд░ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдлрд▓рд╛рд▓реИрди рд▓реЗрдирд╛ред рдореИрдВ рдмрд╕ рдлрд▓рд╛рд▓реИрди рдХреЗ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░-рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рднреВрдорд┐рдХрд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрд╛рдВрдзрддрд╛ рд╣реВрдВред рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдлрд▓рд╛рд▓реИрди рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднреВрдорд┐рдХрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ

рдорджрдж рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
рдЕрдВрдд рдореЗрдВ рдлрд▓рд╛рд▓реИрди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ k8s 1.6.1 рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдЕрдм ansible playbooks рдореЗрдВ рд╣реИред
Centos/RHEL рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдбреЗрдмрд┐рдпрди рдЖрдзрд╛рд░рд┐рдд (рдЬреИрд╕реЗ рдЙрдмрдВрдЯреВ) рдХреЗ рд▓рд┐рдП рднреА рддреИрдпрд╛рд░реА рд╢реБрд░реВ рд╣реЛ рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

https://github.com/ReSearchITEng/kubeadm-playbook/blob/master/README.md

рдкреБрдирд╢реНрдЪ: sjenning/kubeadm-playbook рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рдо - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @ sjenning

рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛:
[рдЦреЛрдЬ] " https://10.100.2.158:6443 " рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реБрдП, рдХреНрд▓рд╕реНрдЯрд░-рд╕реВрдЪрдирд╛ рдЦреЛрдЬ рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛
[рдЦреЛрдЬ] рдХреНрд▓рд╕реНрдЯрд░ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓, рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛: [рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди "рдХреНрд▓рд╕реНрдЯрд░-рдЬрд╛рдирдХрд╛рд░реА" рдирд┐рд╖рд┐рджреНрдз рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ " рд╕рд┐рд╕реНрдЯрдо: рдЕрдирд╛рдо " рдирд╛рдорд╕реНрдерд╛рди "рдХреНрдпреВрдм-рдкрдмреНрд▓рд┐рдХ" рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧрдореИрдк рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ]
[рдЦреЛрдЬ] рдХреНрд▓рд╕реНрдЯрд░ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓, рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛: [рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди "рдХреНрд▓рд╕реНрдЯрд░-рдЬрд╛рдирдХрд╛рд░реА" рдирд┐рд╖рд┐рджреНрдз рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ " рд╕рд┐рд╕реНрдЯрдо: рдЕрдирд╛рдо " рдирд╛рдорд╕реНрдерд╛рди "рдХреНрдпреВрдм-рдкрдмреНрд▓рд┐рдХ" рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧрдореИрдк рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ]

рдореИрдВрдиреЗ рдиреЛрдб рдХреЛ рд╕реЗрд▓реНрдлрд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рдХрд┐рдпрд╛ред

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

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

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

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

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

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

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