전체 글 468

(Kubernetes) Taints and Toleration

taint 노드마다 설정가능. 설정한 노드에는 POD가 스케줄되려면 조건이 붙음 toleration taint를 무시할 수 있음 주로 노드를 지정된 역할만 하게할 때 사용합니다. 옵션 - NoSchedule : toleration이 없으면 pod이 스케쥴되지 않음, 기존 실행되던 pod에는 적용 안됨 - PreferNoSchedule : toleration이 없으면 pod을 스케줄링안하려고 하지만 필수는 아님, 클러스터내에 자원이 부족하거나 하면 taint가 걸려있는 노드에서도 pod이 스케줄링될 수 있음 - NoExecute : toleration이 없으면 pod이 스케줄되지 않으며 기존에 실행되던 pod도 toleration이 없으면 종료시킴 명령어 kubectl taint node {nodename..

PaaS/Kubernetes 2021.03.17

(Kubernetes) Scheduler

kube-scheduler kuber-scheduler는 이름에서 알 수 있듯이 새로운 포드들이 만들어질때 현재 클러스터내에서 자원할당이 가능한 노드들 중에서 알맞은 노드를 선택해서 그곳에 포드를 띄우는 역할을 합니다. 포드는 처음 실행될때 여러가지 조건을 지정해서 실행하는데, kube-scheduler가 그 조건에 맞는 노드를 찾아주는 역할을 합니다. 필요한 하드웨어 요구사항이라던가, 어피니티/안티어피니티(affinity/anti-affinity) 조건을 만족하는지, 특정 데이터가 있는 노드에 할당한다던가 하는 다양한 설정을 할 수 있습니다. ※ Scheduler가 없으면 노드 배치를 자동으로 못한다. ※ 그때는 수동으로 nodeName을 지정해서 배치하면 POD가 Running되긴한다. ■kube-s..

PaaS/Kubernetes 2021.03.16

(Kubernetes) NameSpace 와 Service

NameSpace When you grow and use a kubernetes cluster for enterprise or production purpose you want to consider the use of namespace as you can create your own namespaces as well. Service 쿠버네티스 외부 또는 내부에서 Pod에 접근할 때 사용하는 기능이다. service를 사용하는 이유는 Pod는 서버와 같이 영구적인 것이 아니라 일회적인 것이기 때문이다. 서버는 문제가 생기면 서버를 재 시작하고 서비스를 재 시작 하지만 Pod는 문제가 생기면 문제가 생긴 Pod를 삭제한 뒤 새로운 Pod를 생성한다. 그렇기 때문에 Pod의 IP는 고정적이지 않고 가변적이다...

PaaS/Kubernetes 2021.03.15

(Kubernetes) Replica 와 Deployment

Replication Controller 는 POD의 HA(High Availability)를 위해 Replicate POD를 Running 시킴 여러노드를 아울러 Load Balancing and Scaling을 한다. template는 POD가 죽는다면 template에 있는 POD 정의를 재설정함 Replica Set is very similar with Replication Controller selector 하나 다름 selector는 어떤 라벨을 가진 pod를 관리(모니터링, HA)할것인지를 의미함 Kubernetes Deployment 각 POD에 v2를 업데이트, 롤백 등을 일관성있게 하기위함 replica와 yaml이 거의 동일하고 kind만 다르다. Deployment는 Replica위..

PaaS/Kubernetes 2021.03.14

(Kubernetes) kubectl 커맨드 모음 -1

POD 관리의 기초 ■ 조회 kubectl get all kubectl get pods : kubectl get pods -o wide : 더자세히 kubectl describe pod [myapp-pod] : kubectl get pods --namespace kube-system : Kubernetes의 시스템 POD를 볼수 있다 kubectl get pod [rabbit] -o yaml > pod.yaml : 운영중인 rabbit POD를 YAML로 내려 받기 kubectl cluster-info ■ 빌드/실행 kubectl create/apply -f [pod-definition.yml] : kubectl run [redis] --image=[redis123] kubectl run [redis] ..

PaaS/Kubernetes 2021.03.13

(Kubernetes) Kubernetes Architecture

ETCD - Kubernetes의 기본 데이터베이스다. 모든 쿠버네티스 클러스터 상태를 저장하고 복제 Kube Controller Manager 컨트롤러는 실제로 클러스터를 실행하고 쿠버네티스 controller-manager에는 여러 컨트롤러 기능이 하나로 통합되어 있습니다. 하나의 컨트롤러는 스케줄러를 참고하여 정확한 수의 포드가 실행되게 합니다. 포드에 문제가 생기면 또 다른 컨트롤러가 이를 감지하고 대응합니다. 컨트롤러는 서비스를 포드에 연결하므로 요청이 적절한 엔드포인트로 이동합니다. 또한 계정 및 API 액세스 토큰 생성을 위한 컨트롤러가 있습니다. kube-scheduler 클러스터가 양호한 상태인가? 새 컨테이너가 필요하다면 어디에 적합한가? 쿠버네티스 스케줄러는 이러한 것들을 주로 다룹니..

PaaS/Kubernetes 2021.03.11

CKA(Certified Kubernetes Administrator) 시험 준비사항 정리

공부 준비 다양한 리소스를 이용하여 공부를 하였으나, 제가 제일 유용하였고 도움이 되었다고 생각되는 자료 리스트입니다. Kubernetes Tutorials 언제나 기본기는 중요합니다. hands-on lab 도 제공하여 처음 기본을 잡는데 유용하였습니다.(katacoda practice lab) Kubernetes in Action 스터디 그룹에서 번역의 상태가……, 하지만 내용은 너무 좋은 책입니다. Kubernetes Korea Group의 Kubernetes Architecture Study 모임 에서 진행된 스터디 자료를 참조하시면 더욱 좋습니다. Certified Kubernetes Administrator (CKA) with Practice Tests Udemy 에서 유료로 제공되는 인터넷 ..

기타/자격증 2021.03.09

[완독정리]스프링 마이크로서비스 코딩 공작소 9. 스프링 클라우드 슬루스와 집킨을 이용한 분산 추적-길벗

- 상관관계 ID를 사용해 여러 서비스 사이의 트랜잭션을 서로 연결한다. - 여러 서비스 사이의 로그 데이터를 검색 가능한 단일 소스로 수집한다. - 여러 서비스 사이의 사용자 트랜잭션 흐름을 시각화하고 트랜잭션 각 부분의 성능 특성을 이해한다. 이 세가지 사항을 만족하기 위해 세가지 다른 기술을 사용한다. - 스프링 클라우드 슬루스 : 상관관계ID를 사용해 HTTP 호출을 측정한는 스프링 클라우드 프로젝트이며, 생성 중인 추적 데이터를 오픈 집킨에 공급할 수 있는 연결고리를 제공한다. - 페이퍼트레일 : 여러 데이터 소스의 로그 데이터를 검색이 가능한 단일 데이터베이스로 수집하는 클라우드 기반의 프리미움 서비스다 - 집킨 : 여러 서비스 사이의 트랜잭션 흐름을 보여주는 오픈 소스 기반의 데이터 시각화 ..

Programming/MSA 2021.03.07