Kubernetes의 Kube-Proxy Kube-Proxy는 쿠버네티스의 컴포넌트 중 하나다. Kube-Proxy는 쿠버네티스 클러스터 내부에서 Service와 관련된 모든 것을 처리하는 동작을 한다. Service의 IP로 전달되는 패킷들이 Pod로 전달되는 것은 바로 Kube-Proxy Pod가 해주는 일이다. Kube-Proxy의 동작 방식은 두 가지가 존재한다 userspace 프록시 모드(이전) : Kube Proxy가 패킷을 받아서 Pod로 전달해줌. iptables 프록시 모드(현재) : Kube Proxy는 IpTables만 업데이트 해줌. 아래에서 대략적인 동작을 살펴볼 수 있다. kube-proxy의 Userspace Mode는 Iptables를 이용해 모든 패킷이 kube-proxy..
들어가기 전 이 글은 쿠버네티스 인 액션 10장을 공부하며 작성한 글입니다. 10.1 Stateful 파드 복제하기 ReplicaSet은 하나의 Pod Template을 이용해 여러 개의 파드를 생성한다. 이 때 ReplicaSet이 PVC를 사용하도록 작성하면 각 파드는 어떤 차이가 있을까? 생성된 파드는 IP가 다른 것을 제외하고는 모두 동일한 상태를 가진다. 각 파드가 아래처럼 각각의 PVC를 참조하는 상황을 고려해보자. 이것은 각 파드가 독립적인 '상태'를 가지고 있음을 의미한다. 이렇게 구성하려면 어떻게 해야할까? 우선 우리가 알고 있는 ReplicaSet으로는 구현할 수 없다. 10.1.1 개별 스토리지를 갖는 ReplicaSet 여러 개 실행하기 아래그림처럼 각 파드가 독립적인 PVC를 참조..
들어가기 전 이 글은 쿠버네티스 인 액션 9장을 공부하며 작성한 글입니다. 9. Deployment : 선언적 어플리케이션 업데이트 쿠버네티스의 Deployment 리소스는 배포와 어플리케이션의 업데이트를 좀 더 쉽게 할 목적으로 만들어진 녀석이다. 이번 장에서는 Deployment를 사용하지 않을 때 / 사용했을 때의 어플리케이션 업데이트에 대해서 공부할 것이다. 파드를 최신 버전으로 교체 관리되는 파드 업데이트 Deployment 리소스로 파드의 선언적 업데이트 롤링 업데이트 수행 잘못된 버전의 롤아웃 자동 차단 롤아웃 속도 제어 이전 버전으로 파드 되돌리기 9.1 파드에서 실행 중인 어플리케이션 업데이트 일반적으로 클라이언트는 k8s의 Pod에 접근할 때, 서비스를 통해서 접근하게 된다. 그리고 P..
도커 설치 # https://docs.docker.com/engine/install/ubuntu/#set-up-the-repository # Update the apt package index and install packages to allow apt to use a repository over HTTPS: sudo apt-get update -y sudo apt-get install ca-certificates curl gnupg -y # Add Docker’s official GPG key: sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmo..
들어가기 전 이 글은 쿠버네티스 인 액션 8장을 공부하며 작성한 글입니다. 8.1 Downward API로 메타 데이터 전달 이미 알고 있는 정보는 메니페스트 파일을 선언할 때 사용할 수 있다. 그렇지만 다음 정보들은 메니페스트 파일에 바로 선언해서 사용할 수 없다. 파드가 생성될 때 정해지는 메타 정보 (Node 이름, 파드 IP, 파드 이름) 파드의 Lable, Annotation 이런 정보들을 매니패스트 파일에 제공할 수 있도록 쿠버네티스에서는 Downward API라는 기능을 제공한다. 이 기능을 이용하면 위에서 언급한 정보들을 파드에 다음 형태로 제공할 수 있다. 환경변수 볼륨 8.1.1 사용 가능한 메타데이터 이해 쿠버네티스가 제공하는 Downward API를 사용하면 파드의 메타 데이터를 파..