Explore Environment
노드의 세부적인 사항의 조회를 원한다면 -o wide 옵션을 사용한다.
k get nodes -o wide
내부 / 외부 IP 를 조회할 수 있다.
노드의 MAC 주소를 확인하는 방법은 노드에 접속하여 확인할 수 있다.
단, 마스터 노드의 경우 호스트와 공유하므로 호스트의 MAC 주소를 확인하면 된다.
마스터 노드가 사용하는 Default Gateway는, 호스트의 설정을 따라간다. 따라서 ip route로 조회한다.
노드 내 프로세스가 사용하는 포트 등의 정보를 조회할때는 netstat 을 사용한다.
netstat에는 옵션이 다양하기 때문에, --help 를 활용하는 것이 좋다.
kube-scheduler 가 사용하는 포트를 조회한다. 이 때, 옵션을 활용하는 것이 중요하다.
-npl 옵션을 사용한 이유는 아래와 같다.
n : IP, 포트, 유저 명시
p : programs, 프로세스 조회
l : listening 상태의 포트 조회
참고로, l을 빼고 조회하면 ESTABLISHED 상태의 연결 상태를 조회한다.
CNI
kubelet과 container runtime의 엔드포인트 값을 확인한다.
ps -aux 명령어는 모든 프로세스의 정보를 상세하게 출력한다. 여기서 필요한 kubelet 과 container-runtime 부분을 분류하여 확인한다.
CNI 의 바이너리는 /opt/cni/bin 경로에 저장된다.
클러스터에 사용될 CNI 플러그인은 아래 경로에서 확인한다.
Networking Weave
weave 솔루션이 사용하는 IP 대역을 확인해본다.
weave 솔루션의 파드를 먼저 조회하고, 해당 파드의 로그를 조회하면 된다.
대역을 10.244.0.0/16 사용함을 알 수 있다.
Service Networking
클러스터 내 서비스가 사용하는 IP 범위는 kube-apiserver.yaml 파일에서 확인할 수 있다.
kube-apiserver.yaml 은 /etc/kubernetes/manifests 경로에서 확인 가능하다.
내용을 조회해보면 --service-cluster-ip 필드가 IP 범위에 해당한다.
kube-proxy 가 사용하는 proxy 의 종류는 proxy 파드의 로그를 조회하면 확인할 수 있다.
CoreDNS
CoreDNS 서비스의 구성요소 정의 파일(yaml) 의 경로를 확인한다.
파드를 조회하고, 해당 파드의 상세 내용을 확인한다.
coredns 파드를 describe 하여 상세 내용을 확인
클러스터의 루트 도메인을 확인하는 방법을 알아본다.
kubernetes cluster.local 부분이 클러스터의 루트 도메인이다.
Ingress
Ingress 는 다음과 같이 조회한다.
Ingress 리소스를 편집하여 새로운 애플리케이션을 url 에 연결한다.
조건은 다음과 같다.
eat 어플리케이션을 추가해본다.
다음은 수정하는 것이 아닌 ingress를 직접 생성해본다.
조건에 backend service 와 port 가 명시되어 있지 않다. 올바른 포트와 서비스를 직접 확인한다.
ingress 생성 시 옵션은 --help 명령어로 확인하고, 예시를 참고하여 수정해 진행한다.
Ingress 구성 과정을 처음부터 진행한다.
k create namespace ingress-nginx
ingress-nginx NS 생성
ingress-nginx NS 에 ingress-nginx-controller configmap개체 생성
k create configmap ingress-nginx-controller -n ingress-nginx
ingress-nginx 내에 2개의 serviceaccount를 생성한다.
'IT > CKA' 카테고리의 다른 글
CKA 실습 - TroubleShooting (0) | 2023.09.21 |
---|---|
CKA 실습 - Cluster Installation (0) | 2023.09.19 |
CKA 실습 - Storage (0) | 2023.09.07 |
CKA 실습 - Security (0) | 2023.09.06 |
CKA 실습 - Certification / KubeConfig (0) | 2023.08.20 |