푸잉이의 기술블로그

[Day17] Certified Kubernetes Administrator (CKA) with Practice Tests 본문

IT/Kubernetes

[Day17] Certified Kubernetes Administrator (CKA) with Practice Tests

data고수 2023. 1. 25. 04:55

199강 Prerequisite-DNS

<name solution>

시스템 a에게 192.168.1.11의 ip가 db라는 호스트라고 알림 -> etc/hosts 파일에 항목을 추가하여 수행 

호스트 이름을 ip 주소로 변환하는 것

<DNS>

하나의 IP가 변경되면 모든 호스트에서 항목을 수정해야함 -> 불편

-> 모든 항목을 중앙에서 관리하는 단일 서버 =DNS 서버 

호스트를 DNS 서버로 지정하려면?

DNS IP = 192.168.1.100-> etc/resolv.conf.에 DNS resolution configuration 파일에 추가 

목록에 없는 서버에 ping 시도하면 실패

but resolv.conf 파일에 다른 항목을 추가하면 알 수 있음

<Domain Names>

.com,.net,. edu, .org, .io

www =subdomain

. =root

.com = top level domain name

<nslookup>

DNS 레코드를 조회할 때 사용 

nslookup <hostname> <dns_server>

DNS 서버를 명시적으로 지정하는 경우 사용 

 

<dig>, Domain information groper

네임서버로부터 정보를 가져올 수 있는 툴

nslookup보다 더 편한 인터페이스와 사용법 제공 

 

200강. Prerequisite-CoreDNS

유연하고 확장가능한 dns 서버

클러스터를 지속적으로 모니터링하여 새로운 서비스 혹은 pod이 추가되는 경우, 도메인 서버에 업데이트 

 

201강. Prerequisite-Network Namespaces

컨테이너가 생성되면 네트워크 네임스페이스를 생성함 

자체 네트워크 네임스페이스 내에서 컨테이너는 자체 가상 라우팅 인터페이스, 라우팅 테이블, arp 테이블 가질 수 있음 

네트워크 네임스페이스 생성 

ip netns add red

시스템 내 모든 네트워크 네임스페이스 확인

ip netns

 

<Exec in network namespaces>

모든 인터페이스 확인

ip link 

arp 항목 표시 

ip netns exec red arp

라우팅 테이블 항목 표시

ip netns exec red route

 

203강. Prerequisite-Docker Networking

<None>

docker run --network none nginx

:어떤 네트워크와도 연결되어 있지 않음, 네트워크 격리

docker run --network host nginx

:도커 컨테이너는 포트 80의 호트스 네트워크에 연결 

docker run nignx

:고유한 ip 를 갖는 브리지 네트워크에 연결됨  (docker0=birge)

컨테이너를 브리지 네트워크에 연결하는 방법

1. 컨테이너 생성 -> Docker가 네트워크 네임스페이스 생성 

2. Docker는 가상 케이블을 생성하고 한 쪽 끝을 docker 브리지 네트워크에 연결

*브리지 네트워크에 연결된 상태에서 컨테이너가 웹 application을 호스팅 하는 경우, 

docker run --publish HOST-PORT:CONTAINER_PORT <container-name>

iptables -nvL -t nat

204강. Prerequisite- CNI

1.Create network namespace

2. Create bridge network/interface

3. create veth pairs (pipes

4. attach pipes to namespaces

5. attach pipes to bridge

6. assing IP address

7. Bring the interface up 

8. enable NAT -IP masquerade

Container network interface

-container runtime은 반드시 네트워크 네임스페이스를 생성

-컨테이너가 연결해야하는 네트워크 식별

-컨테이너가 추가될 때, 컨테이너 런타임은 네트워크 플러그인을 호출 

-컨테이너가 제거될 때, 컨테이너 런타임은 네트워크 플러그인을 호출

-네트워크 구성의 JSON 형식 

 

네트워크 플러그인에 대한 CNI 지시어 

-Command line 은 반드시 add/del/check 지원

-id, network등 반드시 지원

-pod에 할당된 ip address 관리

-특정 포맷으로 결과를 반환

container network model (CNM)

 

205강. Cluster Networking 

<Cluster 조건>

-각 node에 ip, node name mac ip address 있어야함

-일부 pod는 node에서도 열려 있어야함 

209강. Pod Networking

networking model

모든 pod들은 ip 주소를 가지고 있음

모든 pod은 같은 node의 다른 pod들과 소통 가능함 

모든 pod은 nat 없이 다른 node안에 있는 pod들과 소통 가능

출처) 

https://velog.io/@koo8624/Kubernetes-CoreDNS

Comments