cni0
: runtime interface
eth0
: kubernetes interface
ifconfig -a
ip link
ip r
netstat -natnlp | grep kube-scheduler
ps -aux | grep kubelet | grep --color container-runtime-endpoint
ls /opt/cni/bin/
ls /etc/cni/net.d/
cat /etc/cni/net.d/10-flannel.conflist
CNI 플러그인은 가상의 네트워크 환경을 구현하여 클러스터 내부에서 파드 간의 통신이 가능하게 해준다. CNI한 종류인 Weave를 설치하는 방법에 대해 알아본다.
해당 에러를 발견하면 CNI을 확인해봐야 한다
k apply -f weave/weave-daemonset-k8s.yaml
https://kubernetes.io/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy/ -> weave 설치 방법 - 공식 문서
해당 node에 pod를 게시한다
해당 pod에 접속해 ip route 명령어를 실행한다
각각의 Node에 Weave의 Pod가 하나씩 배치된다!
ls /etc/cni/net.d/
ls /opt/cni/bin/
ssh node01 ip link
k exec busybox -- ip route
CNI의 일종인 Weave의 로그를 확인하여 찾을 수 있다
/etc/kubernetes/manifest/kube-apiserver.yaml에서 확인할 수 있다
web-service
web-service.default
web-service.default.svc
web-service.default.svc.cluster.local
web-service.payroll
web-service.payroll.svc
web-service.payroll.svc.cluster.local
k exec hr -- nslookup mysql.payroll
k exec hr -- nslookup mysql.payroll
Namespace
: 동일한 Namespace의 Service는 생략해서 접근 가능Default backend
: 특정 Service 접근에 실패했을 경우, 접근할 Service 지정Host
: 특정 host에서 접근하는 것을 허용Backends
: 접근할 수 있는 Service를 명시k get ingress
k get ingress -A
k describe ingress -n app-space ingress-wear-watch
k edit ingress -n app-space ingress-wear-watch
k get svc -A
https://kubernetes.io/docs/concepts/services-networking/ingress/
https://kubernetes.io/ko/docs/concepts/services-networking/ingress-controllers/ -> Ingress Controller