์ด๊ฒ์ ๋ฒ๊ทธ ๋ณด๊ณ ์ ๋๊น ์๋๋ฉด ๊ธฐ๋ฅ ์์ฒญ์ ๋๊น?: ๋ฒ๊ทธ
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="์ฐ๋ถํฌ"
VERSION="16.04 LTS(์ ๋์ผ ์ ๋ฃจ์ค)"
์์ด๋=์ฐ๋ถํฌ
ID_LIKE=๋ฐ๋น์
PRETTY_NAME="์ฐ๋ถํฌ 16.04 LTS"
VERSION_ID="16.04"
ํ_URL=" http://www.ubuntu.com/ "
SUPPORT_URL=" http://help.ubuntu.com/ "
BUG_REPORT_URL=" http://bugs.launchpad.net/ubuntu/ "
UBUNTU_CODENAME=์ ๋์ผ
์ปค๋(์: uname -a):
Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP ์์์ผ 4์ 18์ผ 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
๋๊ตฌ ์ค์น: kubeadm, kubectl, docker
๊ธฐํ :NA
์ผ์ด๋ ์ผ: ๊ฐ์ธ ์ ์ฅ์์์ ๊ฐ์ ธ์ค๋ ๋์ 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 ์ง์: true
๋ก๊น
๋๋ผ์ด๋ฒ: json-file
Cgroup ๋๋ผ์ด๋ฒ: cgroupfs
ํ๋ฌ๊ทธ์ธ:
๋ณผ๋ฅจ: ๋ก์ปฌ
๋คํธ์ํฌ: ํธ์คํธ ๋ธ๋ฆฌ์ง ๋ ์ค๋ฒ๋ ์ด
๋ฌด๋ฆฌ: ๋นํ์ฑ
๋ฐํ์: runc
๊ธฐ๋ณธ ๋ฐํ์: runc
๋ณด์ ์ต์
: apparmor seccomp
์ปค๋ ๋ฒ์ : 4.4.0-21-์ผ๋ฐ
์ด์ ์ฒด์ : ์ฐ๋ถํฌ 16.04 LTS
OS ์ ํ: ๋ฆฌ๋
์ค
์ํคํ
์ฒ: x86_64
CPU: 1
์ด ๋ฉ๋ชจ๋ฆฌ: 1.937GiB
์ด๋ฆ: ์ฐ๋ถํฌ
ID: FXD7: JQJZ:HO3R :D2NK: RWYL:7DCY :PC2M:43PM:MA7C: QSPN:4RGS :5W6H
๋์ปค ๋ฃจํธ ๋๋ ํ ๋ฆฌ: /var/lib/docker
๋๋ฒ๊ทธ ๋ชจ๋(ํด๋ผ์ด์ธํธ): false
๋๋ฒ๊ทธ ๋ชจ๋(์๋ฒ): false
๋ ์ง์คํธ๋ฆฌ: https://index.docker.io/v1/
๊ฒฝ๊ณ : ์ค์ ์ ํ ์ง์ ์์
์์ ํ์ง ์์ ๋ ์ง์คํธ๋ฆฌ:
123.456.789.0:9595
127.0.0.0/8
๋์ปค -v
Docker ๋ฒ์ 1.12.3, ๋น๋ 6b644ec
๋ง์คํฐ์์ kubeadm ์์
kubeadm ์ด๊ธฐํ --token 123456.1234567890123456 --api-advertise-addresses 192.168.91.133
์๋ธ ๋คํธ์ํฌ๋ฅผ ๋ง๋ค์์ต๋๋ค.
kubectl ์ ์ฉ -f https://git.io/weave-kube
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์ด ๊ฐ์ธ ์ ์ฅ์์์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๋ ค๊ณ ํ ๋ ๋ฌธ์ ๊ฐ ์กด์ฌํฉ๋๋ค.
ํฌํธ ๋ฒํธ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ํฌํธ ๋ฒํธ๋ฅผ ์ ๋ ฅํ ํ ์์๋๋ก ์๋ํ๊ธฐ ์์ํ์ต๋๋ค.
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๋ฅผ ์ฐธ์กฐ
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํฌํธ ๋ฒํธ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ํฌํธ ๋ฒํธ๋ฅผ ์ ๋ ฅํ ํ ์์๋๋ก ์๋ํ๊ธฐ ์์ํ์ต๋๋ค.
kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]