IT/CKA

CKA 실습 - Networking

Primes 2023. 9. 11. 22:06
728x90

Explore Environment

노드의 세부적인 사항의 조회를 원한다면 -o wide 옵션을 사용한다.

k get nodes -o wide

내부 / 외부 IP 를 조회할 수 있다.

 

노드의 MAC 주소를 확인하는 방법은 노드에 접속하여 확인할 수 있다.

단, 마스터 노드의 경우 호스트와 공유하므로 호스트의 MAC 주소를 확인하면 된다.

호스트의 MAC 주소 - eth0 의 IP 대역을 노드가 사용중이다 / 일반 노드에는 접속해서 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 파드의 로그를 조회하면 확인할 수 있다.

iptables 를 사용함을 확인

 

CoreDNS

CoreDNS 서비스 명 조회 - kube-dns

 

CoreDNS 서비스의 구성요소 정의 파일(yaml) 의 경로를 확인한다.

파드를 조회하고, 해당 파드의 상세 내용을 확인한다.

coredns 파드를 describe 하여 상세 내용을 확인

경로가 /etc/coredns/Corefile 임을 확인

클러스터의 루트 도메인을 확인하는 방법을 알아본다.

describe 를 통해 정보를 획득한다.

kubernetes cluster.local 부분이 클러스터의 루트 도메인이다.

 

 

Ingress

Ingress 는 다음과 같이 조회한다.

 

Ingress 리소스를 편집하여 새로운 애플리케이션을 url 에 연결한다.

조건은 다음과 같다.

k edit ingress 명령어를 통해, video-service 부분의 Path 를 수정하여 추가한다.

eat 어플리케이션을 추가해본다.

조건
backend 에서 돌아갈 서비스가 있는지, 조건이 맞는지를 확인한다.
k edit ingress 로 항목을 추가하고 저장한다.

다음은 수정하는 것이 아닌 ingress를 직접 생성해본다.

조건 확인

조건에 backend service 와 port 가 명시되어 있지 않다. 올바른 포트와 서비스를 직접 확인한다.

service는 critical-space, pay-service:8282 확인

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