해결된 질문
작성
·
24
0
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다.
다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다!
[질문 전 답변]
1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]
3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]
(https://inf.run/DvsRD)
4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
[질문 하기
안녕하세요.
k get ipaddresspools.metallb.io -A 입력 시
No resources found 가 뜹니다.
Metallb CRD는 정상 설치된 듯 한데 따로 파일 생성이 안 된 듯 합니다.
ipaddresspool.yaml , l2advertisement.yaml 을 따로 생성해야 하는 건가요? 생성한다면 생성 경로 안내도 부탁드립니다.
도움 부탁드립니다.
아래는 메탈LB 컨트롤러 로그 요약한 것 입니다.
vagrant@cp-k8s:~$ kubectl logs -n metallb-system deploy/controller --tail=200
{"branch":"dev","caller":"main.go:167","commit":"dev","goversion":"gc / go1.21.8 / amd64","level":"info","msg":"MetalLB controller starting version 0.14.4 (commit dev, branch dev)","ts":"2025-08-14T01:29:47Z"}
{"action":"setting up cert rotation","caller":"webhook.go:31","level":"info","op":"startup","ts":"2025-08-14T01:29:47Z"}
{"caller":"k8s.go:394","level":"info","msg":"secret successfully created","op":"CreateMlSecret","ts":"2025-08-14T01:29:47Z"}
{"caller":"k8s.go:417","level":"info","msg":"Starting Manager","op":"Run","ts":"2025-08-14T01:29:47Z"}
{"level":"info","ts":"2025-08-14T01:29:47Z","msg":"Starting Controller","controller":"cert-rotator"}
{"level":"info","ts":"2025-08-14T01:29:47Z","logger":"cert-rotation","msg":"starting cert rotator controller"}
{"level":"info","ts":"2025-08-14T01:29:47Z","msg":"Starting Controller","controller":"ipaddresspool","controllerGroup":"metallb.io"}
{"level":"info","ts":"2025-08-14T01:29:47Z","msg":"Starting Controller","controller":"service"}
{"level":"info","ts":"2025-08-14T01:29:47Z","logger":"cert-rotation","msg":"refreshing CA and server certs"}
{"level":"info","ts":"2025-08-14T01:29:47Z","msg":"Starting workers","controller":"service","worker count":1}
{"level":"info","ts":"2025-08-14T01:29:47Z","msg":"Starting workers","controller":"cert-rotator","worker count":1}
{"level":"info","ts":"2025-08-14T01:29:47Z","msg":"Starting workers","controller":"ipaddresspool","controllerGroup":"metallb.io","controllerKind":"IPAddressPool","worker count":1}
{"caller":"pool_controller.go:48","controller":"PoolReconciler","level":"info","start reconcile":"/kube-public"}
{"caller":"pool_controller.go:99","controller":"PoolReconciler","event":"force service reload","level":"info"}
{"caller":"service_controller_reload.go:108","controller":"ServiceReconciler - reprocessAll","event":"failed to handle service, no retry","level":"error","name":"ingress-nginx/ingress-nginx-controller"}
{"level":"error","ts":"2025-08-14T01:29:48Z","logger":"cert-rotation","msg":"could not refresh CA and server certs","error":"Operation cannot be fulfilled on secrets \"metallb-webhook-cert\""}
{"level":"error","ts":"2025-08-14T01:29:48Z","logger":"cert-rotation","msg":"secret is not well-formed, cannot update webhook configurations","error":"Cert secret is not well-formed, missing ca.crt"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"cert-rotation","msg":"certs are ready in /tmp/k8s-webhook-server/serving-certs"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"cert-rotation","msg":"CA certs are injected to webhooks"}
{"action":"webhooks enabled","caller":"webhook.go:53","level":"info","op":"startup"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-metallb-io-v1beta1-ipaddresspool"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-metallb-io-v1beta2-bgppeer"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-metallb-io-v1beta1-bgpadvertisement"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"controller-runtime.webhook","msg":"Starting webhook server"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"controller-runtime.certwatcher","msg":"Updated current TLS certificate"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"controller-runtime.certwatcher","msg":"Starting certificate watcher"}
{"level":"info","ts":"2025-08-14T01:29:49Z","logger":"controller-runtime.webhook","msg":"Serving webhook server","port":9443}
답변 1
0
안녕하세요.
vagrant up
진행 시 내부적으로 해당 옵션에 대한 설정이 진행됩니다. 9~10분 정도 이후에 비동기로 반영이 되는데요.
사용자의 호스트 노트북 또는 PC 사양에 따라 비동기로 설정한 옵션이 정상적으로 동작하지 않을 수 있습니다. 관련된 내용은 아래 코드를 참고하시면 됩니다. (코드)
#!/usr/bin/env bash
##### Addtional configuration for All-in-one >> replace to extra-k8s-pkgs
EXTRA_PKGS_ADDR="https://raw.githubusercontent.com/sysnet4admin/IaC/main/k8s/extra-pkgs/v1.30"
....
# split metallb CRD due to it cannot apply at once.
# it looks like Operator limitation
# QA:
# - 240sec cannot deploy on intel MAC. So change Seconds
# - 300sec can deploy but safety range is from 540 - 600
# config metallb layer2 mode
(sleep 540 && kubectl apply -f $EXTRA_PKGS_ADDR/metallb-l2mode.yaml)&
# config metallb ip range and it cannot deploy now due to CRD cannot create yet
(sleep 600 && kubectl apply -f $EXTRA_PKGS_ADDR/metallb-iprange.yaml)&
이 경우에는 아래 내용을 쿠버네티스 클러스터 환경에서 입력해 설정을 적용할 수 있습니다.
kubectl apply -f https://raw.githubusercontent.com/sysnet4admin/IaC/main/k8s/extra-pkgs/v1.30/metallb-l2mode.yaml
kubectl apply -f https://raw.githubusercontent.com/sysnet4admin/IaC/main/k8s/extra-pkgs/v1.30/metallb-iprange.yaml
문제 해결에 도움이 되시길 바랍니다.
문성주 드림