Cloud/k8s-CKA 52

[CKA] 30. CoreDNS

개요 kubernetes에서 DNS가 어떻게 동작하는지 알아보겠습니다. DNS Record 할당 범위 k8s에서는 Service와 POD를 위해서 DNS Record를 생성합니다. Core DNS의 동작 범위 Core DNS Record 규칙 전체 그림 DNS Recor설정 상세 Service가 생성되면 CoreDNS에 아래와 같은 DNS Record가 자동으로 생성이 됩니다. 그래서 DNS Record 덕분에 namespace를 분리하면 동일한 이름의 service를 생성 가능 합니다. 첫 번째 줄을 풀어서 설명하면 web-service는 apps라는 namespace에 있고 type은 svc(service)이고 cluster.local에 존재하며 IP를 10.107.37.188이라고 해석을 할 수 있..

Cloud/k8s-CKA 2023.07.25

[CKA] - network 문제 해결 tip

node가 속한 network range 찾기 1. kubectl get node -o wide 로 internal IP 확인 2. ifconfig로 internal ip 확인 및 대역대 확인 POD를 위해서 사용되는 IP 대역대 찾기 1. cni 의 log 확인 #kubectl logs -n kube-system 2. ipalloc-rage 에서 POD의 ip 대역대 확인 service를 위한 IP 대역대 찾기 1. kube-apiserver.yaml에서 확인 가능 #cat /etc/kubernetes/manifests/kube-apiserver.yaml 2. - --service-cluster-ip-range 항목으로 확인 - --service-cluster-ip-range=10.96.0.0/12 k..

Cloud/k8s-CKA 2023.07.25

[CKA] 29. service - default

개요 k8s에서 service의 개념이 무엇인지 알아보고 어떻게 구현이 되는지 알아보겠습니다. Serivce란? pod들을 Network에 노출시키는 Object입니다. 그리고 개념적으로 virtual server와 비슷하다고 생각하면 더 쉽게 이해할 수 있습니다. 이를 그림으로 표현하면 아래와 같습니다. Service 영향 범위 service의 설정은 cluster 전체에 적용이 됩니다. 그래서 cluster node 어디서나 접근이 가능합니다. Service 종류 크게 2개의 분류로 나눠지고 각 분류 별로 4개 및 2개의 종류가 존재합니다. 분류방식은 k8s에서 기본 제공 하는 Default Service와 plugin으로 제공되는 Service로 구분이 됩니다. 이는 공식적인 것은 아니고 제가 생각..

Cloud/k8s-CKA 2023.07.23

[CKA] 28. Pod의 Networking 과 Weave CNI

개요 k8s에서 Pod 간에 networking이 어떻게 구성이 되는지 알아보겠습니다. Pod의 Networking 구성의 핵심 Pod 간의 Networking의 구성은 [CKA] 24. k8s network를 위한 기초에서 배웠던 기술에 Overlay Network 기술을 합치면 완성이 됩니다. [CKA] 24. k8s network를 위한 기초에서는 단일 node안에서 container가 아래의 3개의 기술을 사용하여 통신 가능하다는 것을 배웠습니다. ip link container를 bride에 연결하기 위해서 사용 bridge container을 연결하는 용도 ip route 내부 container 간의 통신 의해서 사용 iptables의 masquerade 외부 통신을 위햇 사용 Overlay ..

Cloud/k8s-CKA 2023.07.20

[CKA] 27. CNI란?

개요 CNI(Container Network Interface)가 무엇인지 알아보겠습니다. CNI 정의 Container 간의 networking을 구현을 어떻게 구현할지를 표준화한 것입니다. CNI의 필요 이유 container들이 networking을 하기 위해서 하기 위해서 필요한 사항이 모두 개별적으로 개발이 된다면 container 들간의 network 통신은 거의 불가능할 것입니다. 그래서 이를 편하게 하기 위해서 공통사항을 표준으로 정리한 것이 CNI입니다. 아래 그림은 각종 오케스트레이션 도구에서 CNI를 어떻게 구현하는지 간단한 절차를 설명 한 것입니다. CNI 동작 방식 CNI를 기반으로 하여 만들어진 Plugin은 container runtime에 의해 호출된 binary 파일의 실행..

Cloud/k8s-CKA 2023.07.16

[CKA] 26. Domain과 DNS Sever기초

개요 DNS가 무엇인지 Linux에서 DNS가 어떻게 동작하는지 알아보겠습니다. DNS(Domain Name System)? 사람이 기억하기 쉬운 URL 형태의 주소를 컴퓨터가 사용하는 주소인 IP로 변경해 주는 System입니다. 예를 들어 www.google.com의 주소를 142.251.220.4로 변경을 해줍니다. Domain이란? Domain은 website의 주소를 의미합니다. 원칙 적인 구조는 아래와 같습니다. 서브도메인. 도메인명. TLD. www.goole.com. . Root Domain라고 하여 가장 최상단의 Domain입니다. 그러나 생략이 되어 표기가 됩니다. com Top Level Domain(TLD)라고 하여 도메인의 유형을 나타냅니다. "com"은 상업적 목적의 사이트를, ..

Cloud/k8s-CKA 2023.07.15

[CKA] 25. Docker Network 구조

개요 k8s의 container runtime 중 하나인 docker의 network 구성 방식을 알아보겠습니다. Docker의 network 종류 None Network network 통신이 불가능한 container를 생성할 때 사용합니다. 외부 통신 및 container 간 통신이 불가능한 구조입니다. 명령어 $sudo docker run --network none ngnix 구조 Host Network Docker의 'host' 네트워크는 container가 host의 network statck을 직접 사용하도록 합니다. 이는 container가 host와 동일한 network namepsace를 공유하게 되므로, network 격리가 사실상 없어집니다. 단점으로는 container가 host의 ..

Cloud/k8s-CKA 2023.07.10

[CKA] 24. k8s network를 위한 기초

개요 k8s의 network는 어떻게 구현이 되어있는지 알아보겠습니다. k8s의 network를 무엇을 구현하였는가? 실제 물리적인 network 구성을 Host 내부에 구현한 것이 k8s의 network의 기본입니다. 그리고 k8s에서 Host 간의 network 구성은 CNI plugin을 통하여 확장할 수 있습니다. 아래 그림 2개는 각각 실제 무리적인 network의 구성과 k8s의 Host 간의 network 구성을 표현한 것입니다. 물리적인 Network 구성도 K8S Network 구성도 물리적인 network 구성도의 초록색 box 부분이 Host로 들어와서 구현된 것이 k8s의 network 구현입니다. 위 그림에서 Host는 Container로 대체가 되어서 구성이 되고 gateway는..

Cloud/k8s-CKA 2023.06.29

[CKA] 23. k8s cluster 관리

개요 k8s cluster 접근 방법을 알아 보겠습니다. kubeconfig 관리 명령어 kubeconfig 파일은 kubectl을 통하여 관리가 가능합니다. 다음은 kubeconfig관련하여 유용한 명령어입니다. 사용 중인 kubeconfig 파일 확인 kubectl config view 현재 context의 cluseter와 user 확인 kubectl config current-context 모든 context 목록 확인 kubectl config get-contexts 특정 context로 전환 kubectl config use-context [CONTEXT_NAME] 새로운 context추가 kubectl config set-context [CONTEXT_NAME] --cluster=[CLUST..

Cloud/k8s-CKA 2023.05.07