arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

IP๋กœ ์„ค์น˜๋œ Private-Registry(harbor) ๋„๋ฉ”์ธ ์ˆ˜๋™ ์ ์šฉ

hashtag
๊ฐ€์ •

  • Private Registry, Control plane, Worker nodes๋Š” Ubuntu20.04 ํ™˜๊ฒฝ์—์„œ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฒ„์ „์€ v1.26 ์ž…๋‹ˆ๋‹ค.

  • ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ฃผ์†Œ๋ฅผ 192.168.77.154 ์—์„œ regi.acornsoft.io ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

IP
๋„๋ฉ”์ธ

hashtag
Private Registry ์ž‘์—…

hashtag
Private Registry IP ๋ณ€๊ฒฝ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

  • openssl.conf ํŒŒ์ผ์— ๋„๋ฉ”์ธ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  • ๋„๋ฉ”์ธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

hashtag
Private Registry ์„ค์ • ํŒŒ์ผ ๋ณ€๊ฒฝ

  • harbor.yml์˜ hostname์„ IP์—์„œ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

hashtag
๋ณ€๊ฒฝ์‚ฌํ•ญ ๋ฐ˜์˜

  • install.sh ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • install.sh ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋Œ€์‹  harbor ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  harbor๋ฅผ ์žฌ์‹œ์ž‘ํ•ด๋„ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

hashtag
Node ์ž‘์—…

hashtag
๊ณตํ†ต ์ž‘์—…(Control plane, Worker nodes)

hashtag
Private Registry IP ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ node์— ๋ฐ˜์˜

  • /etc/containerd/certs.d์— ๋„๋ฉ”์ธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, /etc/containerd/certs.d/192.168.77.154/hosts.toml ํŒŒ์ผ์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • /etc/containerd/certs.d/regi.acornsoft.io/hosts.toml์˜ IP๋ฅผ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  • /etc/containerd/config.toml์˜ IP๋ฅผ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  • containerd๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  • IP ์ธ์ฆ์„œ๋Š” ๋”์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ hosts.toml ํŒŒ์ผ์—์„œ ca๋ผ์ธ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

  • Addon, Coredns, Static Pods ๋ฐ ๊ธฐํƒ€ yamlํŒŒ์ผ์— ๋Œ€ํ•œ IP ์ฃผ์†Œ๋ฅผ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  • ํŒจํ‚ค์ง€ ์ €์žฅ์†Œ ์ฃผ์†Œ๋ฅผ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  • /etc/docker/certs.d/ ์— ๋„๋ฉ”์ธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

hashtag
Control-plane ์ถ”๊ฐ€ ์ž‘์—…

  • control-plane ์—์„œ๋Š” calico์™€ metrics server๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ž‘์—…์„ ์ถ”๊ฐ€๋กœ ํ•ด์ค๋‹ˆ๋‹ค.

  • kube-proxy daemonset ์ด๋ฏธ์ง€ ์ฃผ์†Œ๋ฅผ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  • coredns deployment ์ด๋ฏธ์ง€ ์ฃผ์†Œ๋ฅผ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  • kubelet์„ ์žฌ์‹œ์ž‘ํ•ด์ค๋‹ˆ๋‹ค.

hashtag
ํ™•์ธ

  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๊ฐ€ ๋ชจ๋‘ ์˜ฌ๋ผ์˜ค๊ธฐ๊นŒ์ง€ ๋ช‡ ๋ถ„ ์†Œ์š”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ฐธ๊ณ : Private Registry IP๋ฅผ ์ƒˆ๋กœ์šด ์„œ๋ฒ„์˜ IP๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” cubectl update ๋ช…๋ น์„œ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

192.168.77.154

regi.acornsoft.io

$ sudo vi /var/lib/cubectl/cert/openssl.conf
# ์˜ˆ์‹œ
[ alt_names_registry ]
DNS.1 = localhost
DNS.2 = registry
DNS.3 = regi.acornsoft.io
IP.1 = 127.0.0.1
IP.2 = 192.168.77.154
$ sudo mkdir /etc/docker/certs.d/regi.acornsoft.io
$ sudo sed -i 's/192.168.77.154/regi.acornsoft.io/g' /var/lib/cubectl/harbor/harbor.yml
# ์˜ˆ์‹œ
hostname: regi.acornsoft.io
$ cd /var/lib/cubectl/harbor/
$ sudo ./install.sh
$ cd /var/lib/cubectl/harbor/common/config/core
$ vi env

# AS-IS
EXT_ENDPOINT=https://10.1.1.50

# TO-BE (์ ‘์†๋  ์ ‘์†์ฃผ์†Œ, ์˜ˆ์‹œ:)
EXT_ENDPOINT=https://www.regi.acornsoft.io
$ sudo mkdir -p /etc/containerd/certs.d/regi.acornsoft.io
$ sudo cp -r /etc/containerd/certs.d/192.168.77.154/* /etc/containerd/certs.d/regi.acornsoft.io
$ sudo sed -i 's/192.168.77.154/regi.acornsoft.io/g' /etc/containerd/certs.d/regi.acornsoft.io/hosts.toml
$ sudo sed -i 's/192.168.77.154/regi.acornsoft.io/g' /etc/containerd/config.toml
$ sudo systemctl restart containerd
$ sudo sed -i '/ca =/d' /etc/containerd/certs.d/regi.acornsoft.io/hosts.toml
# ๋„๋ฉ”์ธ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ ca ๋ผ์ธ ์‚ญ์ œ
server = "https://www.regi.acornsoft.io"

[host."https://www.regi.acornsoft.io"]
$ sudo find /etc/kubernetes -type f -exec sed -i 's/192.168.77.154/regi.acornsoft.io/g' {} +
# Control plane์—์„œ IP๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ํŒŒ์ผ ๋ชฉ๋ก

# Addon
/etc/kubernetes/addon/calico/calico.yaml
/etc/kubernetes/addon/metrics-server/metrics-server.yaml
# Static Pods
/etc/kubernetes/manifests/kube-apiserver.yaml
/etc/kubernetes/manifests/kube-controller-manager.yaml
/etc/kubernetes/manifests/kube-scheduler.yaml
# Coredns ๋ฐ ๊ธฐํƒ€ yaml
/etc/kubernetes/addon/test/nginx.yaml
/etc/kubernetes/addon/test/dnsutils.yaml
/etc/kubernetes/kubeadm.yaml
# Worker nodes์—์„œ IP๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ํŒŒ์ผ ๋ชฉ๋ก

# Static Pods
/etc/kubernetes/manifests/haproxy.yaml
$ sed -i 's/192.168.77.154/regi.acornsoft.io/g' /etc/apt/sources.list.d/local-repo.list
$ sudo mkdir /etc/docker/certs.d/regi.acornsoft.io
$ kubectl apply -f /etc/kubernetes/addon/calico/calico.yaml
$ kubectl apply -f /etc/kubernetes/addon/metrics-server/metrics-server.yaml
$ kubectl edit daemonset -n kube-system kube-proxy
# ์˜ˆ์‹œ
image: regi.acornsoft.io/registry.k8s.io/kube-proxy:v1.26.7
$ kubectl edit deployment -n kube-system coredns
# ์˜ˆ์‹œ
image: regi.acornsoft.io/docker.io/coredns/coredns:1.9.3
$ sudo systemctl restart kubelet
$ sudo crictl images
# ์˜ˆ์‹œ
ubuntu@master-1:~$ sudo crictl images
IMAGE                                                          TAG                 IMAGE ID            SIZE
regi.acornsoft.io/docker.io/calico/cni                         v3.26.1             9dee260ef7f59       93.4MB
192.168.77.154/docker.io/calico/cni                            v3.26.1             9dee260ef7f59       93.4MB
regi.acornsoft.io/docker.io/calico/node                        v3.26.1             8065b798a4d67       86.6MB
192.168.77.154/docker.io/calico/node                           v3.26.1             8065b798a4d67       86.6MB
regi.acornsoft.io/registry.k8s.io/kube-apiserver               v1.26.7             6ac727c486d08       36.1MB
192.168.77.154/registry.k8s.io/kube-apiserver                  v1.26.7             6ac727c486d08       36.1MB
regi.acornsoft.io/registry.k8s.io/kube-controller-manager      v1.26.7             17314033c0a0b       32.8MB
192.168.77.154/registry.k8s.io/kube-controller-manager         v1.26.7             17314033c0a0b       32.8MB
regi.acornsoft.io/registry.k8s.io/kube-proxy                   v1.26.7             1e7eac3bc5c0b       21.8MB
192.168.77.154/registry.k8s.io/kube-proxy                      v1.26.7             1e7eac3bc5c0b       21.8MB
regi.acornsoft.io/registry.k8s.io/kube-scheduler               v1.26.7             c1902187a39f8       17.8MB
192.168.77.154/registry.k8s.io/kube-scheduler                  v1.26.7             c1902187a39f8       17.8MB
regi.acornsoft.io/registry.k8s.io/pause                        3.9                 e6f1816883972       319kB
192.168.77.154/registry.k8s.io/pause                           3.9                 e6f1816883972       319kB
192.168.77.154/docker.io/coredns/coredns                       1.9.3               5185b96f0becf       14.8MB
192.168.77.154/registry.k8s.io/metrics-server/metrics-server   v0.6.1              e57a417f15d36       28.1MB