inflearn logo
κ°•μ˜

Course

Instructor

Certified Kubernetes Application Developer (CKAD) – Practical Exam Guide

[πŸ“ŒProblem Solving] Creating an Ingress

Service(name: traefik)의 EXTERNAL_IP κ°€ Pending μž…λ‹ˆλ‹€.

23

Jihoon Shin

1 asked

1

[πŸ‘μ’‹μ€ μ§ˆλ¬Έμ„ ν–ˆμ„ λ•Œ 쒋은 닡변이 λŒμ•„ μ˜΅λ‹ˆλ‹€]

0. 질문 μ‹œ μ‹œν—˜ 지문을 κ·ΈλŒ€λ‘œ 볡사 ν•˜κ±°λ‚˜ 이미지 캑쳐λ₯Ό μ˜¬λ¦¬μ§€ 말아 μ£Όμ„Έμš”.

1. μ‹€μŠ΅ 쀑 본인의 ν™˜κ²½μ΄ κ°€μ΄λ“œμ™€ λ‹€λ₯Έ 뢀뢄이 μžˆμ—ˆλ‹€λ©΄ λ§μ”€ν•΄μ£Όμ„Έμš”.

2. ν•΄λ‹Ή 문제의 λ°œμƒ λΉˆλ„(μž¬μ„€μΉ˜ μ—¬λΆ€)와 문제 해결을 μœ„ν•΄ μ‹œλ„ν•΄λ³Έ μΌ€μ΄μŠ€λ₯Ό 말씀해 μ£Όμ‹œλ©΄ 원인 νŒŒμ•…μ— 큰 도움이 λ©λ‹ˆλ‹€.

3. μ—λŸ¬ λ©”μ‹œμ§€λ§Œ λ΄μ„œλŠ” 저도 λͺ¨λ₯΄λŠ” κ²½μš°κ°€ λ§Žμ•„μš”. 그전에 ν–ˆλ˜ μž‘μ—…μ΄ ν¬ν•¨λœ 캑쳐 화면도 뢀탁 λ“œλ €μš”.

4. μ˜μƒ λ‚΄μš©μ— λŒ€ν•œ 질문 μ‹œ ν•΄λ‹Ή μ‹œκ°„μ„ 같이 올렀 μ£Όμ‹œλ©΄ 닡변을 λ“œλ¦¬λŠ” μ‹œκ°„μ΄ 더 λΉ¨λΌμ§‘λ‹ˆλ‹€.

5. κΈ΄ λ‘œκ·ΈλŠ” 제 λ©”μΌλ‘œ λ³΄λ‚΄μ£Όμ„Έμš”. (k8s.1pro@gmail.com)

6. 카페 [κ°•μ˜ μžλ£Œμ‹€]에도 λ§Žμ€ 질문과 닡변듀이 μžˆμ–΄μš”!

 


μ•ˆλ…•ν•˜μ„Έμš”. μΌν”„λ‘œλ‹˜. κ°•μ˜ 잘 보고 μžˆμŠ΅λ‹ˆλ‹€.

 

κ°•μ˜ 7:27 μ―€ k get svc -n traefik λͺ…령을 μž…λ ₯ν–ˆμ„ λ•Œ, ν•΄λ‹Ή μ„œλΉ„μŠ€ 객체의 externalIPκ°€ κ°•μ˜μ—μ„œλŠ” λ³΄μ΄μ§€λ§Œ, μ‹€μŠ΅ ν™˜κ²½μ—μ„œλŠ” Pending으둜 λ‚˜μ˜΅λ‹ˆλ‹€. 이번 κ°•μ˜μ˜ ν™˜κ²½μ„ΈνŒ… μ‚­μ œ λͺ…령을 μž…λ ₯ν•˜κ³ , λ‹€μ‹œ ν™˜κ²½μ„ΈνŒ…μ„ 해보아도 같은 μƒν™©μž…λ‹ˆλ‹€.

 

μ„œλΉ„μŠ€ νƒ€μž…μ€ LoadBalancer μ΄μ§€λ§Œ, μ‹€μŠ΅ ν™˜κ²½μ€ 둜컬 ν΄λŸ¬μŠ€ν„°μ΄κΈ°μ— metalLB μ„€μ • / μ„œλΉ„μŠ€ νƒ€μž…μ„ NodePort둜 λ³€κ²½ / μ™ΈλΆ€ λ‘œλ“œλ°ΈλŸ°μ„œ μ‚¬μš©κ³Ό 같은 μž‘μ—…μ΄ ν•„μš”ν• κΉŒμš”?

 

(ν˜„μž¬) μ™ΈλΆ€ IPκ°€ μ—†λ‹€λ³΄λ‹ˆ μ΅œμ’… 검증 λͺ…령어인 curl http://external.app.local/ μž…λ ₯ μ‹œ, curl: (7) Failed to connect to external.app.local port 80: Connection refused μ΄λŸ¬ν•œ μ—λŸ¬κ°€ λ‚˜μ˜΅λ‹ˆλ‹€.

확인 ν•œ 번 ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€...!

λ„€νŠΈμ›Œν¬ kubernetes devops infrastructure container

Answer 2

1

1pro

μ•ˆλ…•ν•˜μ„Έμš”.

μ •ν™•ν•œ 확인을 μœ„ν•΄ μ•„λž˜ λͺ…령어에 λŒ€ν•œ κ²°κ³Όλ₯Ό μ˜¬λ €μ£Όμ‹€ 수 μžˆμœΌμ‹€κΉŒμš”?

k get svc -A
k get pod -A
k get node -o wide

 

0

Jihoon Shin

[candidate@k8s-master ~]$ kubectl create ns external
kubectl create -f https://raw.githubusercontent.com/kubetm/exam-ad/main/ingress/1/deployment.yaml
kubectl create -f https://raw.githubusercontent.com/kubetm/exam-ad/main/ingress/1/service.yaml
cat << EOF >> /etc/hosts
192.168.56.41 external.app.local
EOF
namespace/external created
deployment.apps/web-app created
service/web-app created
[candidate@k8s-master ~]$ k get svc -n traefik
NAME      TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
traefik   LoadBalancer   10.105.49.242   <pending>     80:30000/TCP,443:30465/TCP   24h
[candidate@k8s-master ~]$ curl http://external.app.local/
curl: (7) Failed to connect to external.app.local port 80: Connection refused
[candidate@k8s-master ~]$ k get svc -A
NAMESPACE       NAME                              TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
calico-system   calico-api                        ClusterIP      10.101.90.70     <none>        443/TCP                      24h
calico-system   calico-kube-controllers-metrics   ClusterIP      None             <none>        9094/TCP                     24h
calico-system   calico-typha                      ClusterIP      10.109.63.111    <none>        5473/TCP                     24h
calico-system   goldmane                          ClusterIP      10.106.209.98    <none>        7443/TCP                     24h
calico-system   whisker                           ClusterIP      10.100.216.251   <none>        8081/TCP                     24h
default         kubernetes                        ClusterIP      10.96.0.1        <none>        443/TCP                      24h
external        web-app                           ClusterIP      10.106.222.42    <none>        8080/TCP                     56s
kube-system     kube-dns                          ClusterIP      10.96.0.10       <none>        53/UDP,53/TCP,9153/TCP       24h
kube-system     metrics-server                    ClusterIP      10.105.241.127   <none>        443/TCP                      24h
traefik         traefik                           LoadBalancer   10.105.49.242    <pending>     80:30000/TCP,443:30465/TCP   24h
[candidate@k8s-master ~]$ k get pod -A
NAMESPACE         NAME                                       READY   STATUS    RESTARTS       AGE
calico-system     calico-apiserver-5fb8b68b6c-l25h4          1/1     Running   1 (108s ago)   24h
calico-system     calico-apiserver-5fb8b68b6c-vw4cx          1/1     Running   1 (108s ago)   24h
calico-system     calico-kube-controllers-7f84bbbb6d-2dj9v   1/1     Running   1 (108s ago)   24h
calico-system     calico-node-vr8gq                          1/1     Running   1 (108s ago)   24h
calico-system     calico-typha-d54c47c8b-6gf25               1/1     Running   1 (108s ago)   24h
calico-system     csi-node-driver-h67bw                      2/2     Running   2 (108s ago)   24h
calico-system     goldmane-6b5f6c9bcf-w8vdq                  1/1     Running   1 (108s ago)   24h
calico-system     whisker-75bf8654c5-hnhmh                   2/2     Running   2 (108s ago)   24h
dev               node-exporter-67fc4b7bc7-gxlhb             1/1     Running   1 (108s ago)   16h
dev               scraper-56f954bb86-vk5z9                   1/1     Running   1 (108s ago)   16h
external          web-app-675f5c9658-kfbxf                   1/1     Running   0              62s
kube-system       coredns-7d764666f9-nh6vc                   1/1     Running   1 (108s ago)   24h
kube-system       coredns-7d764666f9-ppbxv                   1/1     Running   1 (108s ago)   24h
kube-system       etcd-k8s-master                            1/1     Running   1 (108s ago)   24h
kube-system       kube-apiserver-k8s-master                  1/1     Running   1 (108s ago)   24h
kube-system       kube-controller-manager-k8s-master         1/1     Running   1 (108s ago)   24h
kube-system       kube-proxy-9kr2d                           1/1     Running   1 (108s ago)   24h
kube-system       kube-scheduler-k8s-master                  1/1     Running   1 (108s ago)   24h
kube-system       metrics-server-5f54fb74d9-6th6q            1/1     Running   1 (108s ago)   24h
tigera-operator   tigera-operator-59fccd9889-m48x8           1/1     Running   1 (108s ago)   24h
traefik           traefik-84f8cf496f-274l2                   1/1     Running   1 (108s ago)   24h
[candidate@k8s-master ~]$ k get node -o wide
NAME         STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                      KERNEL-VERSION                  CONTAINER-RUNTIME
k8s-master   Ready    control-plane   24h   v1.35.2   192.168.56.41   <none>        Rocky Linux 9.6 (Blue Onyx)   5.14.0-570.17.1.el9_6.aarch64   containerd://1.7.29

λ‹€λ₯Έ μ‹€μŠ΅ ν™˜κ²½μ„ 기둝을 λͺ¨λ‘ μ§€μš°κ³  μƒˆλ‘­κ²Œ μ‹€μŠ΅ ν™˜κ²½ μ„ΈνŒ…μ„ ν•œ ν›„ μš”μ²­ν•˜μ‹  λͺ…령어듀을 μž…λ ₯ν•œ κ²°κ³Όμž…λ‹ˆλ‹€.
(19κ°•: [λ¬Έμ œν’€μ΄] Ingress μƒμ„±ν•˜κΈ° - 7:24μ―€)

 

κ°μ‚¬ν•©λ‹ˆλ‹€.

1

1pro

 

음.. μ’€ μ΄μƒν•˜κΈ΄ ν•˜λ„€μš”.

Traefik μ„€μΉ˜μ‹œ extenalIPκ°€ μ„ΈνŒ…μ΄ λ˜μ•Όν•˜λŠ”λ°,

ν•œλ²ˆ μ•„λž˜ λͺ…λ ΉμœΌλ‘œ μ‚­μ œν›„ λ‹€μ‹œ μ„€μΉ˜ν•΄ λ³΄μ‹œκ² μ–΄μš”?

helm uninstall traefik -n traefik

 

echo '======== [10-2] Ingress Traefik μ„€μΉ˜ ========'
helm repo add traefik https://traefik.github.io/charts
helm install traefik traefik/traefik --version 39.0.5 -n traefik --create-namespace --set service.externalIPs[0]=192.168.56.41

1

1pro

λ§Œμ•½ 잘 μ•ˆλ˜μ‹œλ©΄ μ§€κΈˆ μƒμ„±λœ NodePort 30000을 μΆ”κ°€ν•΄μ„œ apiλ₯Ό 날렀보셔도 λ©λ‹ˆλ‹€

0

Jihoon Shin

λ„΅. μ‹œλ„ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€!

0

communityai8509

μ•ˆλ…•ν•˜μ„Έμš”, μΈν”„λŸ° AI μΈν„΄μž…λ‹ˆλ‹€. Jihoon Shinλ‹˜.

μΏ λ²„λ„€ν‹°μŠ€ ν™˜κ²½μ—μ„œ LoadBalancer νƒ€μž… μ„œλΉ„μŠ€μ˜ EXTERNAL_IPκ°€ Pending μƒνƒœλ‘œ λ‚¨λŠ” 것은 일반적으둜 ν΄λΌμš°λ“œ ν”„λ‘œλ°”μ΄λ”μ˜ λ‘œλ“œλ°ΈλŸ°μ„œ μ„œλΉ„μŠ€κ°€ 둜컬 ν™˜κ²½μ—μ„œ λ™μž‘ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. λ‘œμ»¬μ΄λ‚˜ λ‚΄λΆ€ λ„€νŠΈμ›Œν¬ ν™˜κ²½μ—μ„œ 이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œλŠ” λͺ‡ κ°€μ§€ 방법을 κ³ λ €ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. MetalLB μ‚¬μš©: 둜컬 ν™˜κ²½μ—μ„œ LoadBalancerλ₯Ό κ΅¬ν˜„ν•˜λ €λ©΄ MetalLB와 같은 λ©”νƒˆ λ‘œλ“œλ°ΈλŸ°μ„œ μ†”λ£¨μ…˜μ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. MetalLBλŠ” 둜컬 ν΄λŸ¬μŠ€ν„°μ— ꡬ성을 μΆ”κ°€ν•˜μ—¬, LoadBalancer νƒ€μž… μ„œλΉ„μŠ€λ₯Ό μ§€μ›ν•˜λ„λ‘ ν•΄μ€λ‹ˆλ‹€. λ…Έλ“œν¬νŠΈ μ„€μ • 없이 μ™ΈλΆ€ IPλ₯Ό ν• λ‹Ήλ°›κ³ μž ν•  λ•Œ 특히 μœ μš©ν•©λ‹ˆλ‹€.

  2. NodePort μ„€μ •μœΌλ‘œ λ³€κ²½: LoadBalancer λŒ€μ‹  NodePort둜 μ„œλΉ„μŠ€ νƒ€μž…μ„ λ³€κ²½ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ ν΄λŸ¬μŠ€ν„° μ™ΈλΆ€μ—μ„œ 직접 λ…Έλ“œμ˜ IP와 λ…Έλ“œν¬νŠΈλ‘œ μ ‘μ†ν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  3. μ™ΈλΆ€ λ‘œλ“œλ°ΈλŸ°μ„œ μ‚¬μš©: ν΄λŸ¬μŠ€ν„°κ°€ ν΄λΌμš°λ“œ ν™˜κ²½μ— 배포된 것이라면, ν•΄λ‹Ή ν΄λΌμš°λ“œ κ³΅κΈ‰μžμ˜ λ‘œλ“œλ°ΈλŸ°μ„œ μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•΄ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ΄€λ ¨ λ§ν¬μ—μ„œ μœ μ‚¬ν•œ λ¬Έμ œμ™€ 해결방법을 ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€:
- ingress κ΄€λ ¨ 질문 λ“œλ¦½λ‹ˆλ‹€.
- kubernetes-anotherclass-sprint2/2211

μœ„μ˜ λ§ν¬μ—μ„œλŠ” λ‘œλ“œλ°ΈλŸ°μ„œ μ„€μ •κ³Ό κ΄€λ ¨λœ 문제 ν•΄κ²° 방법듀을 닀루고 있으며, 특히 둜컬 ν™˜κ²½μ—μ„œμ˜ λ‘œλ“œλ°ΈλŸ°μ„œ 섀정에 도움이 될 수 μžˆλŠ” 정보듀이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

μ €λŠ” μ§ˆλ¬Έμžλ‹˜μ˜ 이해λ₯Ό λ•κ³ μž μ§€μ‹κ³΅μœ μžλ‹˜μ˜ κΈ°μ‘΄ 닡변을 μ°Έκ³ ν•˜μ—¬ μœ μ‚¬ν•œ λ‹΅λ³€ 링크λ₯Ό μΆ”μ²œν•΄λ“œλ¦¬κ³  μžˆμŠ΅λ‹ˆλ‹€. ν˜„μž¬ 베타 κΈ°λŠ₯으둜 닡변이 λ§Œμ‘±μŠ€λŸ½μ§€ μ•Šμ„ 수 μžˆλŠ” 점 μ–‘ν•΄ λΆ€νƒλ“œλ¦½λ‹ˆλ‹€. πŸ™ μΆ”κ°€μ μœΌλ‘œ κΆκΈˆν•œ 점이 μžˆμœΌμ‹œλ©΄, μ΄μ–΄μ„œ μ§ˆλ¬Έν•΄ μ£Όμ„Έμš”. κ³§ μ§€μ‹κ³΅μœ μžκ»˜μ„œ λ‹΅λ³€ν•΄ μ£Όμ‹€ κ²ƒμž…λ‹ˆλ‹€.

curl 200 λ°˜ν™˜ μ‹€νŒ¨μ˜ 건

0

6

1

[15. ConfigMap, Secret - μ‹€μŠ΅] Env (File) μ‹€μŠ΅ μ‹œ λ¬Έμ˜μ‚¬ν•­

1

19

2

ν•™μŠ΅λ°©λ²• 문의

1

27

2

μ§ˆλ¬ΈμžˆμŠ΅λ‹ˆλ‹€!!

0

32

1

kakao_app_icon 파일이 μ—†μŠ΅λ‹ˆλ‹€.

0

29

1

ν˜„μž¬ μ‹œμ  κΈ°μ€€μœΌλ‘œ μ΅œμ‹  μ‹œν—˜ 좜제 λ²”μœ„κ°€ λ°˜μ˜λ˜μ—ˆλ‹€κ³ λ³΄λ©΄ λ κΉŒμš”?

0

24

2

44번 κ°•μ˜ "AWS VPC와 Gateway endpoint ꡬ성"μ—μ„œ 질문 λ“œλ¦½λ‹ˆλ‹€.

0

18

1

μ„Ήμ…˜ 17ν€΄μ¦ˆ 1번 λ‹΅ 였λ₯˜ 확인

0

25

1

section5,6 κ°•μ˜μžλ£Œλ₯Ό μ–΄λ””μ—μ„œ λ°›λ‚˜μš”?

0

21

2

Node Schedule μ‹€μŠ΅ μ‹œ pod3 생성 μ‹œ λ©”λͺ¨λ¦¬ μš”μ²­λŸ‰μ΄ μ˜¬λΌκ°€μ§€ μ•ŠλŠ” 사항

1

28

1

1번 질문

0

33

2

μ•ˆλ…•ν•˜μ„Έμš”

0

36

1

[μˆ˜κ°• μ—°μž₯ 문의] 직μž₯ λ³‘ν–‰μœΌλ‘œ μΈν•œ κΈ°κ°„ μ—°μž₯ μš”μ²­λ“œλ¦½λ‹ˆλ‹€.

0

30

2

Readiness Probe κ΄€λ ¨ μ§ˆλ¬Έλ“œλ¦½λ‹ˆλ‹€.

0

28

1

κ°•μ˜ μ™Έ κ°œλ… 및 μ‹œν—˜ κ΄€λ ¨ 질문

0

49

3

κ°•μ˜ 자료 μ œμž‘μ„ μ–΄λ–»κ²Œ ν•˜μ…¨λŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€!

0

56

1

μƒˆ 링크 λ²„νŠΌμ΄ μ•ˆ λ³΄μ—¬μš”

0

40

2

κ°•μ˜μžλ£ŒμΈμ‡„κ°€ μ•ˆλΌμš”~

0

24

2

ꡬ맀후 λ°”λ‘œ 질문 ν•˜λ‚˜λ§Œμš”..

0

51

1

κ°•μ‚¬λ‹˜ κ°€μ΄λ“œ λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.

1

39

1

localhost:30000 접속 μ•ˆλ˜λŠ” 문제 κ΄€λ ¨ 질문

0

45

2

Guest OS

1

45

2

μ§ˆλ¬Έμžˆμ–΄μš”!

2

71

2

deployment μ—…λ°μ΄νŠΈ 및 λ‘€λ°± μ‹€ν–‰ν•˜κΈ° -2

1

49

2