Kubernetes: Kubectl рдирд┐рдЬреА рднрдВрдбрд╛рд░ рд╕реЗ рдЫрд╡рд┐ рдЦреАрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдлрд╝рд░ре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubernetes

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

Kubernetes рд╕рдВрд╕реНрдХрд░рдг (kubectl рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ):

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:57:25Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:34:56Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}

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

рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди: 2GB RAM/50GB HDD VM
OS (рдЬреИрд╕реЗ /etc/os-release рд╕реЗ):
NAME="рдЙрдмрдВрдЯреВ"
рд╕рдВрд╕реНрдХрд░рдг = "16.04 рдПрд▓рдЯреАрдПрд╕ (рдЬрд╝реЗрдирд┐рдпрд▓ рдЬрд╝реЗрд░рд╕)"
рдЖрдИрдбреА = рдЙрдмрдВрдЯреВ
ID_LIKE=рдбреЗрдмрд┐рдпрди
PRETTY_NAME="рдЙрдмрдВрдЯреВ 16.04 рдПрд▓рдЯреАрдПрд╕"
VERSION_ID="16.04"
HOME_URL=" http://www.ubuntu.com/ "
SUPPORT_URL=" http://help.ubuntu.com/ "
BUG_REPORT_URL=" http://bugs.launchpad.net/ubuntu/ "
UBUNTU_CODENAME=xenial

рдХрд░реНрдиреЗрд▓ (рдЬреИрд╕реЗ uname -a):
рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ 4.4.0-21-рдЬреЗрдиреЗрд░рд┐рдХ # 37-рдЙрдмрдВрдЯреВ рдПрд╕рдПрдордкреА рд╕реЛрдо рдЕрдкреНрд░реИрд▓ 18 18:33:37 рдпреВрдЯреАрд╕реА 2016 x86_64 x86_64 x86_64 рдЬреАрдПрдирдпреВ/рд▓рд┐рдирдХреНрд╕
рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: рдХреБрдмреЗрджрдо, рдХреБрдмреЗрдХреНрдЯрд▓, рдбреЙрдХрд░
рдЕрдиреНрдп : рдПрдирдП
рдХреНрдпрд╛ рд╣реБрдЖ: рдПрдХ рдирд┐рдЬреА рднрдВрдбрд╛рд░ рд╕реЗ рдЦреАрдВрдЪрддреЗ рд╕рдордп ImagePullBackOff

рдЖрдк рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рдереЗ: рдЗрд╕рдиреЗ рдЫрд╡рд┐ рдХреЛ рдирд┐рдЬреА рднрдВрдбрд╛рд░ рд╕реЗ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛

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

  • рдирд┐рдЬреА рднрдВрдбрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдФрд░ рджреЛрдиреЛрдВ рдиреЛрдб (рдорд╛рд╕реНрдЯрд░ рдФрд░ рджрд╛рд╕) рдореЗрдВ рдбреЙрдХрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ
    root<strong i="5">@ubuntu</strong>:~# vi /etc/systemd/system/docker.service.d/private-registry.conf
        [Service]
        ExecStart=
        ExecStart=/usr/bin/dockerd --insecure-registry 123.456.789.0:9595
  • рдлрд┐рд░, рдбреЙрдХрд░ рд▓реЙрдЧрд┐рди
    docker login 123.456.789.0:9595
  • рдбреЙрдХрдЯрд░ рдЬрд╛рдирдХрд╛рд░реА
    рдХрдВрдЯреЗрдирд░: 87
    рдЪрд▓ рд░рд╣рд╛ рд╣реИ: 18
    рд░реБрдХрд╛ рд╣реБрдЖ: 0
    рд░реБрдХ рдЧрдпрд╛: 69
    рдЫрд╡рд┐рдпрд╛рдВ: 175
    рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 1.12.3
    рднрдВрдбрд╛рд░рдг рдЪрд╛рд▓рдХ: aufs
    рд░реВрдЯ рдбрд┐рд░: /var/lib/docker/aufs
    рдмреИрдХрд┐рдВрдЧ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо: extfs
    рдбреАрдЖрдИрдЖрд░: 384
    Dirperm1 рд╕рдорд░реНрдерд┐рдд: рд╕рдЪ
    рд▓реЙрдЧрд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡рд░: json-file
    рд╕реАрдЧреНрд░реБрдк рдбреНрд░рд╛рдЗрд╡рд░: cgroupfs
    рдкреНрд▓рдЧрдЗрдиреНрд╕:
    рд╡реЙрд▓реНрдпреВрдо: рд╕реНрдерд╛рдиреАрдп
    рдиреЗрдЯрд╡рд░реНрдХ: рд╣реЛрд╕реНрдЯ рдмреНрд░рд┐рдЬ рдирд▓ рдУрд╡рд░рд▓реЗ
    рдЭреБрдВрдб: рдирд┐рд╖реНрдХреНрд░рд┐рдп
    рд░рдирдЯрд╛рдЗрдо: рд░рдирд╕реА
    рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рдирдЯрд╛рдЗрдо: рд░рдирд╕реА
    рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рдХрд▓реНрдк: рдПрдкрд░реНрдорд░ seccomp
    рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг: 4.4.0-21-рдЬреЗрдиреЗрд░рд┐рдХ
    рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рдЙрдмрдВрдЯреВ 16.04 рдПрд▓рдЯреАрдПрд╕
    рдУрдПрд╕ рдЯрд╛рдЗрдк: рд▓рд┐рдирдХреНрд╕
    рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░: x86_64
    рд╕реАрдкреАрдпреВ: 1
    рдХреБрд▓ рдореЗрдореЛрд░реА: 1.937 рдЬреАрдЖрдИрдмреА
    рдирд╛рдо: рдЙрдмрдВрдЯреВ
    рдЖрдИрдбреА: FXD7: JQJZ:HO3R :D2NK: RWYL:7DCY :PC2M:43PM: MA7C: QSPN :4RGS:5W6H
    рдбреЙрдХрд░ рд░реВрдЯ рдбрд┐рд░: /var/lib/docker
    рдбрд┐рдмрдЧ рдореЛрдб (рдХреНрд▓рд╛рдЗрдВрдЯ): рдЕрд╕рддреНрдп
    рдбрд┐рдмрдЧ рдореЛрдб (рд╕рд░реНрд╡рд░): рдЧрд▓рдд
    рд░рдЬрд┐рд╕реНрдЯреНрд░реА: https://index.docker.io/v1/
    рдЪреЗрддрд╛рд╡рдиреА: рдХреЛрдИ рд╕реНрд╡реИрдк рд╕реАрдорд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ
    рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЬрд┐рд╕реНрдЯреНрд░рд┐рдпрд╛рдВ:
    123.456.789.0:9595
    127.0.0.0/8

  • рдбреЛрдХрд░ -рд╡реА
    рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг 1.12.3, рдмрд┐рд▓реНрдб 6b644ec

  • рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдХреБрдмреЗрджрдо рдХреА рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ
    рдХреБрдмреЗрджрдо рдЗрдирд┐рдЯ --рдЯреЛрдХрди 123456.1234567890123456 --рдПрдкреА-рд╡рд┐рдЬреНрдЮрд╛рдкрди-рдкрддреЗ 192.168.91.133

  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реАрдХреНрд░реЗрдЯ рдмрдирд╛рдПрдВ
    Kubectl рдЧреБрдкреНрдд рдбреЙрдХрд░-рд░рдЬрд┐рд╕реНрдЯреНрд░реА my-secret --docker-server=123.456.789.0 --docker-username=admin --docker-password=XXXX [email protected] рдмрдирд╛рдПрдБ
  • рд╡реАрд╡ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдпрд╛

    Kubectl рд▓рд╛рдЧреВ -f https://git.io/weave-kube

  • рджрд╛рд╕ рд╕реЗ, рдорд╛рд╕реНрдЯрд░ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ
    рдХреБрдмреЗрджрдо рдЬреНрд╡рд╛рдЗрди --token=123456.1234567890123456 192.168.91.133
  • рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  labels:
    name: test
spec:
  containers:
    - image: 123.456.789.0:9595/test
      name: test
      ports:
        - containerPort: 8443
  imagePullSecrets:
    - name: my-secret
  • рдлрд┐рд░, рдПрдХ рдлрд▓реА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рдкреЙрдб рдЫрд╡рд┐ рдиреЗрдХреНрд╕рд╕ рдбреЙрдХрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рдкреЙрдб рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдиреАрдЪреЗ рдХрд╛ рдкрддрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ
Name:           test-pod
Namespace:      default
Node:           ubuntu-child/192.168.91.134
Start Time:     Thu, 16 Feb 2017 12:26:56 +0530
Labels:         name=test
Status:         Pending
IP:             10.44.0.2
Controllers:    <none>
Containers:
  test:
    Container ID:
    Image:              123.456.789.0:9595/test
    Image ID:
    Port:               8443/TCP
    State:              Waiting
      Reason:           ErrImagePull
    Ready:              False
    Restart Count:      0
    Volume Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-vkj94 (ro)
    Environment Variables:      <none>
Conditions:
  Type          Status
  Initialized   True
  Ready         False
  PodScheduled  True
Volumes:
  default-token-vkj94:
    Type:       Secret (a volume populated by a Secret)
    SecretName: default-token-vkj94
QoS Class:      BestEffort
Tolerations:    <none>
Events:
  FirstSeen     LastSeen        Count   From                    SubObjectPath                   Type            Reason          Message
  ---------     --------        -----   ----                    -------------                   --------        ------          -------
  9s            9s              1       {default-scheduler }                                    Normal          Scheduled       Successfully assigned test-pod to ubuntu-child
  7s            7s              1       {kubelet ubuntu-child}  spec.containers{test}   Normal          Pulling         pulling image "123.456.789.0:9595/test"
  7s            7s              1       {kubelet ubuntu-child}  spec.containers{test}   Warning         Failed          Failed to pull image "123.456.789.0:9595/test": Error: image test:latest not found
  7s            7s              1       {kubelet ubuntu-child}                                  Warning         FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "test" with ErrImagePull: "Error: image test:latest not found"

  7s    7s      1       {kubelet ubuntu-child}  spec.containers{test}   Normal  BackOff         Back-off pulling image "123.456.789.0:9595/test"
  7s    7s      1       {kubelet ubuntu-child}                                  Warning FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "test" with ImagePullBackOff: "Back-off pulling image \"123.456.789.0:9595/test\""

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

рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХреЗ рдХрд╛рд░рдг рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рдереАред рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕рдиреЗ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]

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

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

рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХреЗ рдХрд╛рд░рдг рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рдереАред рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕рдиреЗ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]

рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдЧ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ http://stackoverflow.com/questions/42267164/kubectl-not-able-to-pull-the-image-from-private-repository

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

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

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

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

jason-riddle picture jason-riddle  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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