공부/Kubernetes

쿠버네티스 네트워킹
쿠버네티스에서는 Pod를 불안정한 리소스로 여김. 언제든, 무슨 이유로든 종료될 수 있는 리소스. Pod는 불안정한 서비스엔드를 제공한다.그러면 사용자는 끊임없어 서비스엔드의 이상여부와 바뀐 IP를 추적해야 한다.이를 위해 Service를 앞단에 두어 클라이언트의 요청을 대신 받아 전달하는 리버스 프록시 역할을 수행하게 한다.Pod IP가 변경되어도 사용자는 동일한 IP로 서비스에 접근 가능Service는 안정적인 IP 제공도메인 이름 기반의 서비스엔드 제공 (DNS 참조 가능)Service의 종류ClusterIP : 가장 기본. 쿠버네티스 클러스터 내부에서만 접근이 가능NodePort : 로컬호스트의 특정 포트를 Service의 특정 포트와 연결시켜 외부 트래픽을 Service까지 전달LoadBalan..
Pod
Pod는 쿠버네티스의 최소 실행 단위이다.모든 프로세스는 Pod를 통해 수행된다.특징Pod는 1개 이상의 컨테이너를 가질 수 있다. (실질적으로 3개 이상 넘어가는 경우는 거의 없다)Pod 내에 실행되는 컨테이너들은 반드시 동일한 노드에 할당되며 동일한 생명주기를 갖는다. Pod 삭제시 Pod 내의 모든 컨테이너도 전부 같이 삭제된다.Node IP와는 별개로 Cluster 내에서 접근가능한 고유 IP를 할당받는다. 쿠버네티스에서는 다른 Node에 위치한 Pod라도 NAT 통신 없이 Pod 고유 IP를 통해 접근할 수 있다.Pod 내의 컨테이너들은 서로 IP를 공유한다. 같은 Pod 내의 컨테이너끼리 localhost를 통해 접근 가능하며 포트를 이용하여 구분한다.Pod 안의 컨테이너 들은 동일한 volu..
쿠버네티스 명령어
앞에서 생성한 NCP Kubernetes Cluster를 컨트롤하기 위해 kubectl 명령툴을 사용한다.쿠버네티스 서버는 REST API로 통신한다. 이를 쉽게 통신할 수 있게 해주는 클라이언트 툴이 kubectl이다.기본적인 사용법에 대해 정리한다. 기본 명령◈ 컨테이너 실행kubectl run --image # 예시kubectl run mynginx --image nginxpod/mynginx created# 도커 명령 비교docker run ◈ 컨테이너 조회kubectl get pod# 결과NAME READY STATUS RESTARTS AGEmynginx 1/1 Running 0 12s 쿠버네티스의 최소 실행단위는 pod다.대충 컨테이너 =..
![[NCP] Kubernetes Service 이용하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7LA6U%2FbtsIyeoaWAE%2FvMExkGuPpVHF6ShJ12X1y1%2Fimg.png)
[NCP] Kubernetes Service 이용하기
Naver Cloud Platform의 Kubernetes Service 이용하고 남기는 기록Windows 10 환경 (+powershell) 클러스터 생성1. 클러스터 설정 클러스터를 생성하기에 앞서 VPC, Subnet, public/private LB Subnet이 필요하다. 없다면 미리 만들자. 콘솔(VPC 환경) > Services > Containers > Ncloud Kubernetes Service 이동클러스터 생성하기 클릭이름, VPC, 가용 Zone, 네트워크 타입(public/private), Subnet, private LB Subnet, public LB Subnet을 선택다음 VPC 생성 Services > Networking > VPC 로 이동. VPC 생성 버튼 클릭이름,..