728x90

Cloud/Kubernetes 18

[따배쿠] 6-2. ReplicaSet(ReplicationController와의 차이점은?) 쿠버네티스 pod 개수 보장

기존의 replicationController 와 동일한 역할을 하지만 좀 더 selector를 구체적으로 작성할 수 있도록 도와 준다. {key:version , operator: In, value:["1.14","1.15"]} 의 의미는 label 중 version:1.14 , version:1.15 둘다 를 의미하게 된다. kubectl delete rc rc-nginx 명령어를 통해 replicationController를 죽이게 되면 기존의 실행중이던 3개의 pod들도 terminate되게 된다. kubectl delete rs rs-nginx --cascade=false 명령어는 replica set만 삭제시키는 명령어이다. 기존에 동작하고 있는 pod들은 잘 동작하게 놔둔다. kubectl ..

Cloud/Kubernetes 2022.02.05

[따배쿠] 6-1 Controller - ReplicationController란?

Controller의 역할 pod의 개수를 보장 api에게 요청을 날리면 etcd에서 worker node의 정보를 얻어와서 scheduler에게 어디에 다가 배치를 해야하나를 api에 응답해준다. controller에게 nginx container 3개를 보장해줘라고 요청을 한다. 만약 중간에 하나가 고장나면 controller가 api보고 하나를 더 추가해라 하고 api는 다시 위의 과정을 거쳐서 하나를 추가로 실행한다. Controller의 종류들 Replication Controller 요구하는 Pod의 개수를 보장하며 파드 집합의 실행을 항상 안정적으로 유지하는 것을 목표 selector 가 구분자 역할을 하게 된다. template 은 recepie kind 에서 replicationContr..

Cloud/Kubernetes 2022.02.03

[따배쿠] livenessProbe(Self healing Pod), init container ,infra container , static Pod , pod에 resource 할당하기 , pod 환경변수 설정

livenessProbe = 일종의 건강검진이다. Application 이나 Container의 상태를 지속적으로 확인한다. 지속적으로 포트 80번으로 Get Request를 보내서 잘 동작하는지 지속적으로 확인해준다. 하지만 각 application Container 마다 건강검진의 방식이 다를 것이다. linvessProbe 매커니즘 httpGet probe = 지정한 IP주소 , port , path 에 HTTP GET 요청을 보내 , 해당 컨테이너가 응답하는 지 확인한다. 반환코드가 200이 아닌 값이 나오면 오류라 생각하고 컨테이너를 다시 시작한다. nginx , nodejs , apache 등등 tcpSocket probe = 지정한 포트에 TCP 연결을 시도 , 연결되지 않으면 컨테이너를 다..

Cloud/Kubernetes 2022.01.31

[따배쿠] pod,Container 정리와 Single / Multi Container Pod 생성 , pod 동작 flow

Container app.js 로 간단한 web application 을 작성한다. Dockerfile 을 base image 로 Node 12 버전으로 app.js를 빌드 해준다. public ,private hub 에 push를 통해서 저장을 해준다. 이렇게 만들어진 컨테이너를 사용할때는 Docker 가 설치된 리눅스 시스템에서 불러와서 동작시킬 수 있다. Pod = 컨테이너를 표현하는 Kubernetes API의 최소단위 pod에는 하나 또는 여러 개의 컨테이너가 포함될 수 있음 pod를 실행시키는 2가지 방법 1. kubectl run webserver --image=nginx:1.14 --port=80 =webserver 라는 이름의 pod를 실행해주되 안의 container는 nginx:1.1..

Cloud/Kubernetes 2022.01.28

[따배쿠 youtube] 쿠버네티스 아키텍쳐 ,namespace,

쿠버네티스를 배운다는것은 master node에 있는 API를 배우는것이다. 쿠버네티스 namespace 클러스터 하나를 여러 개의 논리적인 단위로 나눠서 사용 쿠버네티스 클러스터 하나를 여러 팀이나 사용자가 함께 공유 , 용도에 따라 실행해야하는 앱을 구분할 때 사용 kubectl create namespace blue // 이런식으로 만들어준다. blue , organe , green 으로 자유롭게 만들어줄 수 있다. 각각 다른 API를 만들어줄 수 있다. pod ,service ,volume 을 각각 만들어줄 수 있다. 실제로는 각 namespace에 있는 녀석들이 다 존재하는데 namespace 를 기준으로 실제 장비는 하나인데 다른 용도로 구별해서 쓸 수 있다. (논리적인 구분) == 물리적인 ..

Cloud/Kubernetes 2021.04.26

[따배쿠 youtube] 쿠버네티스 설치 (Docker PlayGround , 직접설치)

Docker Playground (play-with-k8s.com) Docker Playground We are really sorry but we are out of capacity and cannot create your session at the moment. Please try again later. labs.play-with-k8s.com 에 들어가서 메뉴얼에 나와있는데로 한다. 1번 명렁어를 통해 쿠버네티스 마스터 노드를 초기화해준다. kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16 $() = command substitution 이경우에는 host의 ip address pod = o..

Cloud/Kubernetes 2021.04.20

[따배쿠 youtube] 쿠버네티스 소개

쿠버네티스의 전체적인 흐름 linux 에서 Docker daemon을 실행시켜 우선 플랫폼을 만들어준다 그 이후에 컨테이너를 빌드 하거나 실행 시킬 수 있다. dockerfile을 통해 image를 만들고(아니면 위에처럼 hub에서 image pull을 할 수 있다.) docker create 명령어를 통해 container를 만든다. build 해서 docker hub 에 push 하게 되면 나중에 다른 곳에서 docker hub에서 pull 하여 사용이 가능하다. 가상머신 vs 컨테이너 Infrastructure 에 있는 resource들을 적절히 분배하여 사용한다. 하지만 모든 application들이 OS 위에서 동작함으로 수평적인 Scale out을 할때 드는 리소스가 OS만큼 추가적으로 늘어난..

Cloud/Kubernetes 2021.04.19
728x90