일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CKA 기출문제
- 정보처리기사 실기
- Java
- Kubernetes
- Linux
- PETERICA
- MySQL
- 기록으로 실력을 쌓자
- 오블완
- minikube
- kotlin
- 정보처리기사 실기 기출문제
- Elasticsearch
- 정보처리기사실기 기출문제
- APM
- CKA
- Pinpoint
- 티스토리챌린지
- kotlin coroutine
- AWS EKS
- mysql 튜닝
- 코틀린 코루틴의 정석
- 공부
- Spring
- IntelliJ
- kotlin spring
- kotlin querydsl
- aws
- AI
- CloudWatch
- Today
- Total
피터의 개발이야기
[kubernetes] 쿠버네티스 목차 본문
ㅁ 들어가며
쿠버네티스 환경을 운영하면서 실 운영경험과 필요 시 작성한 개념들이 정리되지 않게 나열되어 있었습니다. 막상 이것저것 정리하였지만 전체적인 개념을 이해하기는 어려운 구조였습니다. 그래서 전체적인 개념들을 체계적으로 구조화 하기 위해 쿠버네티스 목차 글을 작성하였습니다.
쿠버네티스 개념 정리
ㅁ [kubernetes] Kubernetes란
이 글은 쿠버네티스 공식 문서 중 "쿠버네티스란 무엇인가?" 를 바탕으로 쿠버네티스 개요를 정리하였다.
ㅁ 쿠버네티스 개념 정리
쿠버네티스는 압축해서 설명하면 오픈소스 컨테이너 오케스트레이션 플랫폼라고 정의할 수 있습니다. 로 이해할 수 있습니다. 겠지만, 보다 복합적인 환경적 변화 안에서 이해하려고 하였습니다. 서버환경의 추상화(물리, VM, 컨테이너)를 통해, 소프트웨어를 컨테이너화 시켜 다양한 유형의 인프라에서 컨테이너를 관리할 수 있고, 자동으로 배포, 확장 및 축소가 가능한 오케스트레이션을 위해 쿠버네티스는 꼭 필요합니다. 쿠버네티스를 이용하면 컴퓨팅 리소스를 최대한 효율적으로 활용할 수 있어 비용을 절감하고, OS에 종속성을 극복하여 구글에서 사용하던 컨테이너화된 애플리케이션을 AWS에서도 그대로 사용할 수 있게 해줍니다. 이들 퍼블릭 클라우드 뿐만 아니라 프라이빗 클라우드에서도 사용할 수 있지요.
ㅁ [kubernetes] 쿠버네티스 아키텍처
쿠버네티스에서 가장 큰 논리적 단위 인 Cluster안에 Master Node와 Work Node가 있고, 그 안에 추상화된 쿠버네티스의 최소 단위인 Pod와 Container의 계층적 구조를 살펴 보았고, Master Node와 Work Node에 속해 있는 모듈들의 역할에 대해서 알아보았다.
ㅁ [kubernetes] 쿠버네티스 리소스
리소스는 Kubernetes에서 정의한 인프라의 기능 명세서(Spec)로, 사용자가 등록한 선언적 요구사항(desired state)d에 맞도록 Kubernetes가 인프라를 관리한다.
리소스는 크게 다음과 같이 그룹화 할 수 있다.
ㅇ [kubernetes] 쿠버네티스 컨트롤러
ㄴ 다양한 목적에 맞게 App을 배포하고 관리한다.
ㄴ 지속적 배포와 트래픽에 따른 오케스트레이션이 필요한 상황에서 파드를 관리할 때에 Replicaset, Deployment
ㄴ 노드 단위로 로그정리(S3로 로그정리 배치작업) 및 시스템 로그를 통합(EFK) 등 DaemonSet
ㄴ ElasticSearch 같이 data노드가 정해져 특정 Volume이 정해져 있는 StatefulSet
ㄴ 1회성 작업 Job, 주기적인 배치 작업 Cronjob
ㅇ [Kubernetes] 네트워크 이해
ㄴ 여러 파드에게 IP를 제공하고 로드밸런서 역할을 하는 Service
ㄴ 클러스터 외부에서 파드로 접근할 때 주로 L7 영역의 통신을 담당하는 Ingress
ㄴ 쿠버네티스 리소스에서 확장하여 네트워크 전반에 대해 정리함.
ㄴ NAT란, Bridged Networking란, Virtual Network란?
ㄴ [kubernetes] Ingress 와 egress 차이
ㅇ Storage
ㄴ 데이터의 보존을 위한 컨테이너가 삭제되면 저장한 데이터는 모두 삭제된다.
ㄴ 데이터의 보존을 위한 Volume(비유: 하드디스크 자체)
ㄴ Volume을 할당하여 정의하는 Persistent Volume(비유: 파티션 선언)
ㄴ 할당된 Persistent Volume을 사용하여 Pod에 연결하는 Persistent Volume Claim(비유: Mac 또는 Boot Camp 마운트)
ㄴ 할단된 PVC의 포멧 및 형태를 정의하는 Storage Classs(부차설명: 파티션 포맷 시 유형, APFS ExFAT)
ㄴ [EBS] EKS 생성, MongoDB 구성, gp2에서 gp3 EBS 볼륨으로 마이그레이션
ㄴ [Kubernetes] 쿠버네티스 볼륨 개념 1편 (emptryDir, hostPath)
ㄴ [Kubernetes] 쿠버네티스 볼륨 개념 2편 (pv, pvc, AWS EBS, AWS EFS )
ㄴ [EKS] AWS EKS에 EFS 연동하기
ㅇ Config
ㄴ 컨테이너에 필요한 환경설정 내용 Config Map
ㄴ 비밀번호, OAuth 토큰, SSH 키 같은 민감 정보 저장 Secret
ㅇ 메타데이터
ㄴ 클러스터 내부의 다른 리소스를 관리하기 위한 리소스
쿠버네티스 명령어 연습
ㅁ 코어 관리
쿠버네티스 관리 최소단위인 Pod를 어떻게 유지관리할 지에 대한 방법을 배울 수 있다. 개념정리보다는 Pod를 관리하는 주체들인 Object들을 어떤 명령어를 통해 관리할 수 있는지 정리해 보았다.
ㄴ kubectl 명령어 중 Core에 해당하는 Pod에 관한 명령어 정리
ㄴ [kubernetes] Pod 한꺼번에 삭제하기
ㄴ [Kubernetes] Pod의 건강 상태 체크 방법, Readiness Liveness Startup probe설정, Lifecycle Hook
ㅇ [kubernetes] ReplicaSet 기본 명령어
ㄴ 코어 리소스 중 ReplicaSet에 관한 kubectl 명령어 정리
ㅇ [kubernetes] Deployments 기본 명령어
ㅇ [kubernetes] NameSpace 기본 명령어
ㅇ [kubernetes] kubectl 생성 실습문제
ㄴ kubectl 명령문을 사용하여 pod, deployment, service를 생성 연습해 보았다.
ㄴ 스캐줄링에 관련된 명령어 연습: 메뉴열 스케줄링, Lable와 Selector, Taint와 Tolerations, Node Affinity, Resource Limits, DaemonSets, Static Pod, Multiple Schedulers
ㅁ Application Lifecycle Management
Pod 안의 Application 배포에 대한 내용이다.
- 애플리케이션을 배포 시 서비스 중단, 무중단 배포가 있다.
- 배포 시 컨테이너에 데이터를 어떻게 주입하는 지 알 수 있다. 데이터에는 Command와 Arguments, 환경변수, Secrets가 있다.
- 다중 컨테이너, init Container 배포방법
ㄴ 서비스 중단, 무중단 배포 방법에 관하여 정리하였다.
ㄴ 카나리 배포, 파괴적인 배포방법(ASIS와 TOBE가 중첩할 수 없는 경우, 장애 시 즉결적인 업데이트)
ㄴ HorizontalPodAutoscaler 연습
쿠버네티스 개발환경
쿠버네티스의 개발환경에 대해서 여러 글을 작성하였습니다. 어떤 글이 정리되어 있는지 목차를 작성하였습니다.
CKA 자격증 공부
ㅁ 시험 후기
ㅁ 실습문제 풀이
ㅇ [CKA] Udemy 실습문제풀이 - Trouble shooting
ㅇ [CKA] Udemy 실습문제풀이 - Networking
ㅇ [CKA] Udemy 실습문제풀이 - Networking2
ㅇ [CKA] Udemy 실습문제풀이 - Storage
ㅇ [CKA] Udemy 실습문제풀이 - Security
ㅇ [CKA] Udemy 실습문제풀이 - Cluster Maintenance
ㅇ [CKA] Udemy 실습문제풀이 - Application Lifecycle Management
ㅇ [CKA] Udemy 실습문제풀이 - Mock Test 1
ㅇ [CKA] Udemy 실습문제풀이 - Mock Test 2
ㅇ [CKA] Udemy 실습문제풀이 - Mock Test 3
ㅇ [CKA] Udemy 실습문제풀이 - Lightning Lab
ㅁ 기출문제 정리
ㅇ [CKA] 기출문제 - ETCD Backup and Restore
ㅁ 개념정리
ㄴudemy 강의 중 이해가 더 필요한 내용을 강의 노트로 남김
ㅇ [CKA] 개념정리 - nodePort, port, targetPort 정리
쿠버네티스 실전경험
ㅁ 로그분석
ㄴ 이벤트 확인 시 필터 적용방법
ㅇ [kubernetes] Events 시간 단위로 소팅
ㄴ 이벤트 확인 시 시간 정렬
ㅁ EKS에 순단 장애 발생 대처
EKS에 순단이 발생하여 원인 파악을 위해 이벤트를 보는 방법([kubernetes] Events 보는 방법)을 정리하였다. AWS에 장애 상황에 대해 문의를 하였고, EKS fail-over 상황이 발생한 것을 확인 할 수 있었다. EKS 장애를 통해 장애 인지 및 모니터링을 위한 개선점을 도출하여, 그 과정을 정리하였다.
1편 [kubernetes] EKS fail-over 상황정리 및 방어방법
2편 [Kubernetes] 쿠버네티스API 서버 CURL 접속 방법
3편 [Kubernetes] Spring에서 쿠버네티스 Pod 정보조회
4편 [kubernetes] kubernetes event exporter
'Kubernetes' 카테고리의 다른 글
[Kubernetes] Spring Boot + Kubernetes 기반에서 웜업 적용하기 (4) | 2024.10.08 |
---|---|
[Kubernetes] 쿠버네티스 API 버전별 제거된 API와 마이그레이션 API요약 표 (0) | 2024.10.07 |
[Kubernetes] Pod의 건강 상태 체크 방법, Readiness Liveness Startup probe설정, Lifecycle Hook (2) | 2024.08.29 |
[Kubernetes] 특정 API에 대한 접근을 제한하는 방법 (0) | 2024.08.24 |
[kubernetes] Cluster Maintenance - 리눅스 노드 업그레이드 (0) | 2023.12.21 |