Toolbox: 도ꡬ μƒμž 33μ—μ„œ kubectl을 μ‚¬μš©ν•  λ•Œ 연결이 κ±°λΆ€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2020λ…„ 10μ›” 30일  Β·  6μ½”λ©˜νŠΈ  Β·  좜처: containers/toolbox

버그 μ„€λͺ…
도ꡬ μƒμž λ‚΄μ—μ„œ kubectl λͺ…령을 μ‹€ν–‰ν•˜λ©΄ λŒ€μƒ ν΄λŸ¬μŠ€ν„°μ— 관계없이 μ—°κ²° κ±°λΆ€ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ kubectl이 μ™ΈλΆ€ 도ꡬ μƒμžμ—μ„œ μ‹€ν–‰λ˜κ±°λ‚˜ bitnami/kubectl 와 같은 λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‚¬μš©ν•˜λ©΄ μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

행동을 μž¬ν˜„ν•˜λŠ” 방법 단계

  1. 도ꡬ μƒμž 33 μ»¨ν…Œμ΄λ„ˆμ— el8용 Google Cloud SDK μ €μž₯μ†Œ μΆ”κ°€
  2. kubectl μ„€μΉ˜
  3. kubectl λͺ…λ Ή μ‹€ν–‰(kubeconfig μ‚¬μš©)
  4. 였λ₯˜ 보기

μ˜ˆμƒλ˜λŠ” 행동
kubectl λͺ…령은 λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆλ‚˜ 호슀트 OSμ—μ„œμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ μ—°κ²° 였λ₯˜ 없이 μž‘λ™ν•©λ‹ˆλ‹€.

μ‹€μ œ 행동
λͺ…령은 λ‹€μŒμ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

The connection to the server <my server name> was refused - did you specify the right host or port?

toolbox --version 좜λ ₯ (v0.0.90+)
toolbox version 0.0.96

도ꡬ μƒμž νŒ¨ν‚€μ§€ 정보( rpm -q toolbox )
toolbox-0.0.96-1.fc33.x86_64

podman version 좜λ ₯

Version:      2.1.1
API Version:  2.0.0
Go Version:   go1.15.2
Built:        Wed Oct  7 12:21:20 2020
OS/Arch:      linux/amd64

Podman νŒ¨ν‚€μ§€ 정보( rpm -q podman )
podman-2.1.1-12.fc33.x86_64

OS에 λŒ€ν•œ 정보
νŽ˜λ„λΌ 싀버블루 33

μΆ”κ°€ μ»¨ν…μŠ€νŠΈ
이것은 Fedora 32 이미지λ₯Ό μ‚¬μš©ν•˜λŠ” Silverblue 32μ—μ„œ μ œλŒ€λ‘œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ 도ꡬ μƒμž λ‚΄μ—μ„œ λŒ€μƒ μ‹œμŠ€ν…œμ— λŒ€ν•΄ ping 및 sshλ₯Ό μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 도ꡬ μƒμž λ‚΄μ—μ„œ Nmap은 μ—΄λ € μžˆλŠ” 포트λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.

1. Bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

Silverblueλ₯Ό 버전 32μ—μ„œ 버전 33으둜 μ—…λ°μ΄νŠΈν•œ 후에도 λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법은 도ꡬ μƒμž μ»¨ν…Œμ΄λ„ˆμ˜ /etc/resolv.conf 에 μžˆλŠ” 심볼릭 링크λ₯Ό resolv.conf 호슀트둜 λ°”κΎΈλŠ” κ²ƒμž…λ‹ˆλ‹€.

sudo rm /etc/resolv.conf && sudo cp /run/host/etc/resolv.conf /etc

κ·Έ ν›„ 아무 문제 없이 kubectl get pods λ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이 λ³€κ²½ μ΄μ „μ—λŠ” /etc/resolv.conf κ°€ ../run/systemd/resolve/stub-resolv.conf (μ‘΄μž¬ν•˜μ§€ μ•ŠμŒ)λ₯Ό κ°€λ¦¬μΌ°μŠ΅λ‹ˆλ‹€.
μ‚¬μš©μž μ •μ˜ /etc/resolv.conf μž¬λΆ€νŒ…ν•œ ν›„ 호슀트 resolv.conf νŒŒμΌμ— λŒ€ν•œ 심볼릭 링크둜 λŒ€μ²΄λ˜μ—ˆμŠ΅λ‹ˆλ‹€: /run/host/etc/resolv.conf .
kubectl 도 μƒˆ 심볼릭 링크와 ν•¨κ»˜ μž‘λ™ν•˜λŠ” κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€.

λͺ¨λ“  6 λŒ“κΈ€

Silverblueλ₯Ό 버전 32μ—μ„œ 버전 33으둜 μ—…λ°μ΄νŠΈν•œ 후에도 λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법은 도ꡬ μƒμž μ»¨ν…Œμ΄λ„ˆμ˜ /etc/resolv.conf 에 μžˆλŠ” 심볼릭 링크λ₯Ό resolv.conf 호슀트둜 λ°”κΎΈλŠ” κ²ƒμž…λ‹ˆλ‹€.

sudo rm /etc/resolv.conf && sudo cp /run/host/etc/resolv.conf /etc

κ·Έ ν›„ 아무 문제 없이 kubectl get pods λ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이 λ³€κ²½ μ΄μ „μ—λŠ” /etc/resolv.conf κ°€ ../run/systemd/resolve/stub-resolv.conf (μ‘΄μž¬ν•˜μ§€ μ•ŠμŒ)λ₯Ό κ°€λ¦¬μΌ°μŠ΅λ‹ˆλ‹€.
μ‚¬μš©μž μ •μ˜ /etc/resolv.conf μž¬λΆ€νŒ…ν•œ ν›„ 호슀트 resolv.conf νŒŒμΌμ— λŒ€ν•œ 심볼릭 링크둜 λŒ€μ²΄λ˜μ—ˆμŠ΅λ‹ˆλ‹€: /run/host/etc/resolv.conf .
kubectl 도 μƒˆ 심볼릭 링크와 ν•¨κ»˜ μž‘λ™ν•˜λŠ” κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€.

@fedgiac κ°μ‚¬ν•©λ‹ˆλ‹€! 정말 κ·Έλž¬λ‹€.

μ²˜μŒμ— μ™œ 이런 일이 μΌμ–΄λ‚¬λŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€. 여기에 μ˜¬λ°”λ₯Έ 심볼릭 링크가 μ„€μ •λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.
https://github.com/containers/toolbox/blob/18e3955fc0f7bedb7b95f4bb4d6f19be65011147/toolbox#L1206

μ›λž˜ /etc/resolv.conf 도 심볼릭 λ§ν¬μ˜€μœΌλ―€λ‘œ ! readlink /etc/resolv.conf 항상 μ„±κ³΅ν–ˆμœΌλ©° 이 μ‹œμ μ—μ„œ 링크가 μ—…λ°μ΄νŠΈλ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 이 νŒŒμΌμ„ λ‹€λ₯Έ 심볼릭 링크둜 κ΅μ²΄ν•˜λ©΄ 이 νŒŒμΌμ„ μž¬λΆ€νŒ… μ‹œ μ•ˆμ •μ μœΌλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

문제의 μΌλΆ€λŠ” μ›λž˜ /etc/resolv.conf κ°€ _relative_ 심볼릭 λ§ν¬μ˜€κΈ° λ•Œλ¬Έμ— μ μ ˆν•œ 호슀트 경둜 ꡐ체λ₯Ό κ±°μΉ˜μ§€ μ•Šμ•˜λ‹€λŠ” 것 μž…λ‹ˆλ‹€. μ½”λ“œ μ—μ„œ μ£Όμ œμ— λŒ€ν•œ 주석

λ‚˜λŠ” 당신이 이것을 μ•Œμ•„λ‚Ό 수 μžˆμ—ˆλ‹€λŠ” 것을 기쁘게 μƒκ°ν•©λ‹ˆλ‹€!

이 μž‘μ—…μ„ 더 μ§„ν–‰ν•˜λ €λŠ” 경우 도움이 될 수 μžˆλŠ” λͺ‡ 가지 지침이 μžˆμŠ΅λ‹ˆλ‹€.

μš°μ„ , POSIX μ…Έ κ΅¬ν˜„μ΄ μ•„λ‹Œ /usr/bin/toolbox 의 Go κ΅¬ν˜„μ„ μ‚¬μš©ν•˜κ³  μžˆλŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€. :)

μ»¨ν…Œμ΄λ„ˆμ˜ /etc/resolv.conf λŠ” 호슀트 운영 μ²΄μ œκ°€ /etc/resolv.conf λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ systemd-resolved λ˜λŠ” λ‹€λ₯Έ λ©”μ»€λ‹ˆμ¦˜μ„ μ‚¬μš©ν•˜λŠ”μ§€ 여뢀에 관계없이 일반적으둜 /run/host/etc/resolv.conf λŒ€ν•œ 심볼릭 링크여야 ν•©λ‹ˆλ‹€.

호슀트 운영 μ²΄μ œκ°€ systemd-resolvedλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 호슀트의 /etc/resolv.conf λŠ” ../run/systemd/resolve/stub-resolv.conf 와 같은 μƒλŒ€ 심볼 링크여야 ν•©λ‹ˆλ‹€.

λ§ˆμ§€λ§‰μœΌλ‘œ 호슀트의 /etc λŠ” μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ˜ /run/host/etc μ—μ„œ μ‚¬μš©ν•  수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

λ‹«μŠ΅λ‹ˆλ‹€. μƒˆλ‘œ μΆ”κ°€ν•  사항이 있으면 μ–Έμ œλ“ μ§€ λ‹€μ‹œ μ—΄κ±°λ‚˜ μ˜κ²¬μ„ λ‚¨κ²¨μ£Όμ„Έμš”.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰