일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- APM
- IntelliJ
- AWS EKS
- mysql 튜닝
- CKA 기출문제
- 기록으로 실력을 쌓자
- 공부
- Kubernetes
- Java
- Spring
- 티스토리챌린지
- kotlin
- CloudWatch
- kotlin coroutine
- 정보처리기사실기 기출문제
- minikube
- 정보처리기사 실기
- 코틀린 코루틴의 정석
- kotlin spring
- Linux
- kotlin querydsl
- Pinpoint
- MySQL
- 정보처리기사 실기 기출문제
- 오블완
- CKA
- aws
- PETERICA
- AI
- Elasticsearch
- Today
- Total
목록Kubernetes/기초공부 (37)
피터의 개발이야기
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 kubectl 명령어 중 Core에 해당하는 Pod에 관한 명령어 정리 ㅁ Pod 관련 명령어 # nginx pod 생성 kubectl run nginx --image=nginx # pod 조회 kubectl get po NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 28s ㅁ Pod의 Node 위치는? $ kubectl get po -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx 1/1 Running 0 7m37s 10.42.0.9 controlplane newpods-ld4lk 1/1 Running 0 7..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 [kubernetes] 쿠버네티스 리소스에서 리소스의 개요를 알아보았다. 이번 글에서는 리소스 중에서 Controller에 대해서 정리하였다. ㅁ 컨트롤러란? 컨트롤러(Controller)는 선언적 요구사항, desired state에 맞추기 위해 클러스터를 모니터링하고 이벤드에 응답하여 리소스를 관리 한다. 예를 들어 실내 온도 조절기에 사용자는 온도를 설정하고, 사용자가 의도한 상태를 맞추기 위해 온도 조절기는 장비를 켜고 꺼서 현재 상태를 의도한 상태에 가깝게 만들어 준다. ㅁ 쿠버네티스 배포 방식 다양한 배포 방식 다양한 목적에 맞게 사용할 수 있는 다양한 배포 방식을 지원한다. Deployment는 새로운 버전의 애플리케이션을 다양한 전략으로 ..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 지난 글, [kubernetes] 쿠버네티스 아키텍처에서 아키텍처 구조를 이야기 하였다. 클러스터라는 논리적 단위 안에 Master Node와 Work Node가 있고, 그 안에 추상화된 쿠버네티스의 최소 단위인 Pod와 Container의 계층적 구조를 살펴 보았고, Master Node와 Work Node에 속해 있는 모듈들의 역할에 대해서 알아보았다. 이번 글에서는 쿠버네티스의 관리 최소 단위인 Pod를 중심으로 이를 관리하기 위한 많은 리소스에 대해서 정리하였다. ㅁ 리소스 개요 리소스는 Kubernetes에서 정의한 인프라의 기능 명세서(Spec)로, 사용자가 등록한 선언적 요구사항(desired state)d에 맞도록 Kubernetes가 인..
ㅁ 들어가며 이전 글, [kubernetes]쿠버네티스 아키텍처에서 쿠버네티스의 아키텍처를 살펴보았다. 이 글에서는 od를 생성하는 과정을 예로 들어 쿠버네티스의 오브젝트들의 역할을 살펴보았다. ㅁ Pod 생성 과정 각 모듈은 서로 통신하지 않고 오직 API Server와 통신한다. API Server를 통해 etcd에 저장된 상태를 체크하고 현재 상태와 원하는 상태가 다르면 필요한 작업을 수행한다. 1. Pod 생성요청 ㄴ kubectl을 이용하여 ReplicaSet 명세를 yml파일로 정의하여 API Server에게 전달한다. 2. etcd에 기록 ㄴ API Server는 새로운 Pod Object를 etcd에 저장한다. 3. Pod 생성 요청 감시 ㄴAPI Server는 unscheduled pod..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 쿠버네티스의 개념과 기능에 대해서 알아보았다. 이 글에서는 쿠버네티스를 이해할 수 있는 아키텍처를 정리하였다. 전반적인 이해를 위해서는 아키텍처를 이해해야한다. 최고 상위 개념인 Cluster과 그에 종속하는 하위의 개념들을 차례로 나열하고, 역할에 따라 모듈화된 객체들의 개념을 설명하도록 하겠다. ㅁ Cluster, Node, Pod, Container 관계 클러스터에 대한 가장 단순한 구조이다. 애플리케이션 컨테이너가 실제로 배포되는 위치를 보여준다. 클러스터 안에는 여러 노드로 구성되어 지는데, 물리적 서버 혹은 VMS으로 구성할 수 있다. 흔히 이야기하는 서버의 단위가 Node이다. 이 서버에 여러 Pod가 구동하고 그 안에 애플리케이션 컨테이너..
ㅁ 들어가며 쿠버네티스 아키텍처를 문서화 할 경우 아이콘이 자주 필요하다. 그래서 아이콘 모음을 정리하였다. ㅁ 쿠버네티스 아이콘 깃헙 쿠버네티스는 오픈소스 프로젝트라서 아이콘도 무료였다. 깃헙에서 찾을 수 있었다. 쿠버네티스 아이콘은 PNG, SVG 두가지 형태지만, png 256 사이즈만 추출하여 정리하였다. ㅁ Control Plane Components icons ㅁ Infrastructure Components icons ㅁ Kubernetes Resources icons ㅁ 함께 보면 좋은 사이트 ㅇ kubernetes icon github
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 쿠버네티스를 공부하고 누군가에게 설명하면서, 가장 쉽게 설명하는 방법이 무엇인지 고민해 보았습니다. 설명을 하다보니 선언적인 DBMS와 자주 비교하게 되었는데요. 데이터를 "어떻게" 관리하는지 우리는 모르지만, "무엇"을 얻을 지 명령을 내릴 수 있습니다. 쿠버네티스를 이용하면, 인프라 자원을 "어떻게" 관리할지를 추상화하고 "무엇"을 달성할지를 정의하여 시스템의 안정성과 편의성을 극대화 할 수 있습니다. 이 글에서 DBMS와 쿠버네티스 개념을 비교하여 쿠버네티스를 풀어서 설명하고자 합니다. ㅁ 선언적 명령을 사용하는 DBMS와 Kubernetes 개발자들은 반복적인 작업들을 자동화 하기를 선호합니다. 그래서 요즘 개발 언어의 특징으로 선언적 형태를 선..
ㅇ taint 특정 키와 값이 일치하는 Pod만 해당 노드에서 예약되도록 한다. - 워커노드의 특성에 따른 Pod배치 시에 유용하다. $ kubectl taint nodes app=statistics:NoSchedule 예를 들어 통계작업을 하는 Pod의 경우 메모리 사용량이 높기 때문에 메모리에 특화된 WorkNode그룹에 스케줄해야할 필요가 있다. 이런 경우 위와 같이 taint를 적용하여 스케줄링이 가능하다. 위에서 추가했던 테인트를 제거하려면, 다음을 실행한다. 명령 끝에 있는 '-'만 유일한 차이점이다. $ kubectl taint nodes app=statistics:NoSchedule- ㅇ toleration - taint에 대한 관용이다. 그래서 노드에 설정 taint가 다른 Pod S..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 [kubernetes] 쿠버네티스 컨트롤러에서 컨트롤러의 역할과 다양한 목적에 따른 배포과 관리 방식에 대해서 알아보았다. 이번 글에서는 리소스 들 간의 통신을 위한 Network에 대해서, 쿠버네티스 입문 책(7,8,15,16장)과 쿠버네티스 문서 > 개념 >서비스, 로드밸런싱, 네트워킹을 읽고 공부한 내용을 정리하였다. 쿠버네티스 네트워크 모델 ㄴ Service ㄴ Ingress ㄴ kube-proxy 클러스터 네트워킹 구성 ㄴ 도커 컨테이너의 네트워킹 ㄴ 멀티노드의 네트워크 구조 CNI란? ㄴ CNI 플러그인 쿠버네티스 DNS ㄴ kube-dns 질의 구조 ㄴ CoreDNS의 질의 구조 ㄴ 파드의 DNS 설정 ㅁ 쿠버네티스 네트워크 모델 클러스터의..
ㅁ 쿠버네티스 볼륨 쿠버네티스 환경에서 노드에 장애가 발생하면 컨테이너를 새로 실행하기 마련이다. 그렇기 때문에 쿠버네티스는 기본적으로 컨테이너는 stateless를 추구하고 있다. 이를 통해 서비스를 자동으로 쉽게 운영할 수 있는 장점을 가지게 되지만, 데이터를 꼭 보존해야할 경우 단점이 될 수 있다. 앱의 특성에 따라 컨테이너에 문제가 발생해도 데이터를 보존하기 위해 볼륨을 사용한다. 볼륨을 사용하면 컨테이너가 재시작하여도 데이터를 유지할 수 있다. 더욱이 퍼시스턴트 볼륨을 사용하여 노드에 종속하지 않고 다른 노드에서 컨테이너가 재시작하더라도 볼륨의 데이터를 그대로 사용할 수 있다. 볼륨이나 퍼시스턴트 볼륨을 사용하면 서버 하나에 종속되지 않고 데이터를 접근하여 안정적으로 서비스를 운영할 수 있다. ..