[k8s] 구조

이정훈·2023년 5월 3일
0

k8s

목록 보기
13/17
post-thumbnail
post-custom-banner

참고!!

master

  • etcd : 파드에 대한 정보를 저장해준 저장소, 키 - 벨류 형태
  • apiserver : 각노드에서 보내온 api 요청은 쿠버네트스 api 서버에 전달되고, etcd 오브젝트 스토어에 업데이트 하기 전에 검증을 수행 후 모든 데이터를 저장, 명령을 전달 받는 부분
  • controller manager : 컨트롤애들을 관리해주는 친구
  • schedulaer : 명령이 들어오면 etcd에 확인하고 아직 실행이 되지 않았다면 누구에게 실행시키는게 좋은지 확인해서 그 노드에게 전달해서 분산처리해주는 친구, 각 노드들의 지금 상태를 체크하고 있다. 자원이 얼마나 있는지

노드들은 apiserver 에 묶여 있는다.

worker

  • api에게 전달받은 내용을 kubelet명령어로 컨테이너를 만드는데 이때 docker에게 전달해서 만들어라! 그럼 만들고 그 만들어진 내용이 etcd에 저장이 되는 것이다!
  • docker는 docker zero라는 네트워크를 사용해서 통신한다 그래서 방화벽이 꺼저있으면 실행이 되지않았지만, 쿠버에서 실행이된다면 kube-proxy에서 네트워크를 할당받아서 돌아가기 떄문에 방확벽이 꺼저있어도 실행이 된다.

  • 명령어 전달! nginx를 만들어라! 그럼 api가 etcd에 확인 있냐? 없냐? scheduler가 그럼 여유있는 노드를 골라서 알려주면 거기에 kubelet이 docker에게 컨테이너 만들어라! 라고 하고 만들어지게 된다. 그런다음에 etcd에 만들어진 내용이 저장!

  • api가 전달받은 명령어가 controller manager중에 하나이다! 그럼 위의 동작중에 컨트롤 매니저쪽과 디플로이먼트를 등록해! 디플리먼트가 레플리카셋을 만드네! 그럼 레플리가카 파드 몇개를 만들어! 그 내용들을 etcd에 저장하고 스케줄러에게 물어보고 노드 배정하고 만들고 만들어진 정보를 etcd에 저장하게 된다.
  • deployment와 statefulset은 동급 개념이기 때문에 deployment로는 만들 수 없다.
  • 컨테이너로 실행되지 않는친구들 컨피그맵, 서비스 등 이런친구들은 etcd에 저장되어있다고 생각하자


  • 서로 통신하고 있음을 확인할 수 있다!

네트워크

  • docker ps | grep [생성한 컨테이너 이름] hello 하나의 파드를 생성하면 pause라는 컨테이너가 같이 생성된다. 대쉬보드에서는 볼 수는 없다.
  • 컨테이너는 도커를 사용해서 만들어 졌기 때문에 도커 명령어로 자세하게 확인할 수 있다.
  • docker inspect [컨테이너 ID]
  • 샌드박스키에 네임스페이스 키가 저장되어 있다.
    ln -s /var/run/docker/netns/ /var/run/netns 심볼릭 링크를 설정해 준다.
    그럼 ip netns list를 확인할 수 있다.

  • 칼리코가 생성한 가상 네트워크와 연결 그리고 터널링 단계가 추가되어서 연결?

컨테이너들 끼리 연결?

  • 이친구들은 포트로 연결이 되어있는?? 파드는 하나당 IP를 하나 할당받으니깐?

    도커 네트워크!
  • networkmode에서 보면 pause와 연결되어 있는 것을 확인할 수 있다.

파드 끼리 통신? (다른 노드)

  • 200.200.200.128은 192.168.181.10으로 가는데 tunl0을 통해서 가라
  • yum install -y tcpdump 패킷 주고받는 것을 확인
  • tcpdump -i ens160 | grep -v ssh | grep ipip
  • node-01(192.168.181.20) > node-02(192.168.181.30) : IP 200.200.200.90(hello-pod1/node-01) > 200.200.200.17(hello-pod2/node-02) 출발지, 목적지, 출발지, 목적지

외부에서 접속?

  • kube-proxy가 그 역할을 수행해준다?
  • 로드벨런싱(metalLB), NodePort
  • ??? 이건 좀 더 살펴보기로 하자
profile
싱숭생숭늉
post-custom-banner

0개의 댓글