본문 바로가기
반응형

Kubernetes(k8s)/따배쿠(따라하면서 배우는 쿠버네티스) 학습36

[k8s]Kubernetes - Liveness Probe(Self-healing Pod) Liveness Probe Pod가 계속 실행할 수 있음을 보장 Pod의 Spec에 정의 주기적으로 80포트에 접속 응답이 나오면 건강한 컨테이너로 판단 응답이 나오지 않으면 건강하지 않는 컨테이너로 판단 Liveness Probe 매커니즘 httpGet probe 웹 서비스를 하는 컨테이너에 해당 지정한 IP주소, port, path에 HTTP GET 요청을 주기적으로 보내 해당 컨테이너가 응답하는지 확인 반환코드가 200이 아닌 값이 나오면 오류 연속으로 세번 오류가 발생하면 컨테이너 죽임 도커 hub에서 건강한 새 컨테이너를 받아 컨테이너 다시 시작 tcpSocket probe sshd 서비스를 하는 컨테이너에 해당 지정된 포트에 TCP연결을 시도 연속으로 세번 연결되지 않으면 컨테이너 죽임 hub.. 2023. 2. 15.
[k8s]Kubernetes-Pod동작flow Pod 동작 flow '웹 서버 컨테이너 실행해줘' 명령 요청 API에 Pod형태로 전달 API가 문법이 제대로 된 문법인지 점검 Pod API 포맷에 맞는 정보가 입력되었는지 점검 etcd에서 노드 정보를 받아 스케줄러에 전달 스케줄러가 어느 노드에서 실행할지 선택 Pod는 스케줄링을 받을 때, Pending 상태 Pod를 노드에 배치 Pod는 노드를 배치 받으면 Running 상태 Pod가 배치 완료되면 Succeeded, 실패하면 Failed Pod 관리하기 동작중인 파드 정보 보기 kubectl get pods kubectl get pods --all-namespaces kubectl get pods -o wide kubectl describe pod webserver 동작중인 파드 수정 kube.. 2023. 2. 14.
[k8s] single/multi-container Pod Container 정리 컨테이너 사용 과정 애플리케이션 생성 컨테이너 빌드 저장소(hub)에 push 도커 플랫폼에 컨테이너를 올려 사용 컨테이너 하나 = 애플리케이션 하나 Pod 란? 컨테이너를 표현하는 k8s API의 최소 단위 API에서 컨테이너 동작은 불가능 Pod에는 하나 또는 여러개의 컨테이너가 포함될 수 있음 Pod 생성하기 kubectl run 명령(CLI)으로 생성 kubectl run webserver --image=nginx:1.14 pod yaml을 이용해 생성 kubectl create -f pod-nginx.yaml Multi-container Pod 생성하기 두개의 컨테이너 정보를 포함한 yaml파일 생성 kubectl create -f pod-multi.yaml 생성된 pod.. 2023. 2. 13.
[k8s]Kubernetes yaml 템플릿 & API yaml 템플릿 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식 기본 문법 구조화된 데이터를 표현하기 위한 데이터 포맷 Python처럼 들여쓰기로 데이터 계층을 표기 들여쓰기를 할 때에는 Tab이 아닌 Space Bar를 사용 가독성이 좋아 설정 파일에 적합한 형식 Scalar문법: ':'을 기준으로 key:value를 설정 배열 문법: '-'문자로 여러개를 나열 kubernetes yam example cat nginx-pod.yaml apiVersion:v1과 kind: pod가쿠버네티스용 문법임 API version alpha -> beta -> stable kubernetes Object 정의 시 apiVersion이 필요 kubernetes가 update하는 API가 있으면 새로운 API가 생성됨.. 2023. 2. 13.
[k8s]Kubernetes namespace k8s namespace k8s api 종류 중 하나 물리적인 클러스터 하나를 여러 개의 논리적인 단위로 나눠서 사용 쿠버네티스 클러스터 하나를 여러 팀이나 사용자가 함께 공유 용도에 따라 실행해야 하는 앱을 구분할 때 사용 수 많은 pod를 용도에 따라 논리적으로 분류하여 활용하는 방법 통합솔루션에서 Example 롯데에서 클러스터 하나를 롯데 홈쇼핑, 백화점, 면세점에서 나눠서 사용한다고 가정 클러스터를 3개의 namespace로 구분하여 각 회사에 할당 blue (API - Pod - Service - P.V) -> 롯데 홈쇼핑 orange (API - Pod - Service - P.V) -> 롯데 백화점 green (API - Pod - Service - P.V) -> 롯데 면세점 네임스페이스 .. 2023. 2. 10.
[k8s]Kubernets 아키텍처 - 동작 원리 & 컴포넌트 쿠버네티스에서 컨테이너 동작 Flow 사용 주체 개발자 운영자 동작 순서 컨테이너 빌드 main ui container, log in container, pay container 등 저장소에 컨테이너 이미지 push 사내 저장소, docker hub 등 사용 주체가 명령어를 통해 control-plane에 컨테이너 실행 요청 명령어: CLI(kubectl), yaml 등 control-plane의 rest api server에서 요청을 받아 어느 노드에 컨테이너를 배치할지 스케줄러에게 요청 control-plane의 스케줄러가 노드의 상태를 보고 적합한 노드를 선택해 rest api server에게 응답 control-plane의 rest api server가 응답 받은 내용을 실행할 노드의 kubele.. 2023. 2. 10.
[k8s]kubectl실습(command, pod 생성) command 살펴보기 command 정보 kubectl --help command 정보 표시 kubectl [command] --help 해당 command 설명 예시 및 옵션 정보 또한 제공 object 정보 kubectl api-resources object 정보(목록, 약어 등) 표시 노드 정보 kubectl get nodes 노드 정보 kubectl get nodes -o wide 노드 정보 상세히 kubectl describe node [name] 해당 노드의 더욱 상세한 정보 여러 방법으로 nginix pod 생성하기 run으로 pod 생성 pod 생성 kubectl run webserver --image=nginx:1.14 --port 80 run은 컨테이너 하드를 만드는 command w.. 2023. 2. 8.
[k8s]kubectl 개요 kubectl이란? 쿠버네티스에게 원하는 것을 요청하는 명령어 명령어의 포맷에 맞춰 '웹 서버 3개 실행해줘'와 같이 요청함 kubectl 명령어 구조 기본 구조 kubectl [command] [TYPE] [NAME] [flags] ex) kubectl get pod webserver -o wide Command 자원(object)에 실행할 명령 create, get delete, edit 등 TYPE 자원의 타입 node, pod, service 등 NAME 자원의 이름 의미를 이해할 수 있는 적절한 이름 설정 소문자, 숫자, _ 이용 flags 부가적으로 설정할 옵션 --help, -o options 등 kubectl 명령어 자동 완성 kubectl은 tab키를 이용한 자동 완성 기능 지원 x ta.. 2023. 2. 8.
[k8s]쿠버네티스 설치하기 쿠버네티스 클러스터를 직접 구성하는 도구 kubeadm 쿠버네티스에서 공식 제공하는 클러스터 생성/관리 도구 kubespray 쿠버네티스 클러스터를 배포하는 오픈소스 프로젝트 다양한 형식으로 쿠버네티스 클러스터 구성 가능 온프레미스에서 상용 서비스 컬러스터 운영시 유용 다양한 CNI 제공 CNI (Container Network Interface) 컨테이너 간 통신을 지원하는 VxLAN 컨테이너는 각각 ip를 갖고 있고 각 컨테이너 간 통신을 하기 위해서는 CNI 필요 Pod Network이라고도 부름 다양한 종류의 플러그인이 존재 플라넬, 칼리코, 위브넷 등 CNI를 설치하고 컨테이너 간 통신할 때, 컨테이너가 물리 네트워크와 통신하고 물리 네트워크가 다시 컨테이너와 통신함 쿠버네티스 클러스터 구성 c.. 2023. 2. 8.
[k8s]설치 없이 쿠버네티스 사용하기 카타코다 쿠버네티스 플레이 그라운드 Master, node1이 구성되어 있어 바로 사용 가능 1시간 동안 사용 가능 여러 시나리오, 예제 제공 현재 O'reilly에 인수 됨 Play with Kubernetes Docker에서 제공 Github, Docker hub 계정으로 로그인 가능 Master, worker node를 직접 구성한 후 사용 가능 4시간 동안 사용 가능 사용 순서 클러스터 마스터 노드 초기화 클러스터 네트워크 초기화(컨테이너 네트워크 인터페이스 설치) 워크 노드 생성 마스터 노드와 워크 노드 조인 마스터 노드에서 kubectl get nodes 명령어를 통해 확인 유용한 단축키 Ctrl + L : 터미널 클리어 Ctrl + Insert : 복사 Shift + Insert : 붙여넣기.. 2023. 2. 7.
[k8s]쿠버네티스 소개 컨테이너와 도커 컨테이너란? 앱을 실행할 수 있는 가상 공간 도커란? 컨테이너를 실행하는 플랫폼 사용 방법 컨테이너 생성 Linux 운영체제에 도커 설치 도커에 컨테이너 빌드 하드디스크에 이미지 생성 컨테이너(이미지) 도커 허브에 Push 이미지 사용 Linux 운영체제에 도커 설치 컨테이너(이미지)허브에서 다운로드 하드디스크에 이미지 생성 컨테이너 실행 가상머신 vs 컨테이너 가상머신 동작 순서 하드웨어 인프라에 하이퍼바이저(vmware, virtualbox) 설치 소프트웨어 기술을 이용하여 가상 머신 생성 가상 머신 내 하드웨어 생성(메모리, cpu, network 등) os 설치 특징 가장 적합한 하드웨어 리소스 할당(유연한 사용 가능) 세일 등의 이벤트로 추가 리소스 필요한 경우 추가로 할당하여 .. 2023. 2. 6.
[k8s]따배쿠 스터디 시작 회사에서 진행하는 여러 스터디 중 웹 서비스가 어떻게 운영이 되는지 알기 위해서 쿠버네티스를 배우면 좋겠다는 생각이 들어 쿠버네티스 스터디에 참여하게 되었다. 스터디의 최종 목적은 자격증을 취득하는 것이며 이를 위해 따배쿠 강의를 이용하여 개념을 잡고 예제를 풀며 실습을 한뒤 자격증을 도전하는 프로세스로 구성되어 있었다. 따배쿠 강의는 총 36개 강의로 구성되어 있고 한주에 6개씩 총 6주동안 진행하고 강의를 들으며 학습하고 요약한 내용을 블로그로 공유하려 한다. 2023. 2. 6.
반응형