공부합시다!/Kubernetes
-
Kubernetes (K8S): Metrics Server 설치공부합시다!/Kubernetes 2023. 7. 6. 18:48
HPA의 필수 요소인 Metrics Server설치에 대해서 알아보겠습니다. 1. 정의 1.1. K8S에 내장된 자동 확장 파이프라인을 위한 컨테이너 리소스 메트릭의 확장 가능하고 효율적인 소스. 1.2. Kubelets에서 메트릭 리소스를 수집, 이를 Metrics API 를 통해 K8S apiserver에 노출하여 Horizontal Pod Autoscaler 및 Vertical Pod Autoscaler 에서 사용 가능하게 함. 1.3. Metrics API는 에서 액세스할 수도 있으므로 kubectl top자동 크기 조정 파이프라인을 더 쉽게 디버깅할 수 있습니다. Metrics Server는 자동 확장 목적이 아닙니다. 예를 들어 메트릭을 모니터링 솔루션에 전달하거나 모니터링 솔루션 메트릭의 소..
-
Kubernetes (K8S): HPA(Horizontal Pod Autoscaling)공부합시다!/Kubernetes 2023. 7. 4. 22:07
오늘은 K8S의 AutoScaling기능을 담당하는 HPA(Horizontal Pod Autoscaling: 이하 HPA)에 대해서 살펴보겠습니다. 1. HPA 의의 1.1. 워크로드 리소스(예: Deployment또는 StatePullSet)를 자동으로 업데이트하며, 워크로드의 크기를 수요에 맞게 자동으로 스케일링. 1.2. 수평 스케일링은 부하 증가에 대해 파드를 더 배치하는 것을 뜻함. 1.3. 부하량이 줄어들고, 파드의 수가 최소 설정값 이상인 경우, HorizontalPodAutoscaler는 워크로드 리소스(디플로이먼트, 스테이트풀셋, 또는 다른 비슷한 리소스)에게 스케일 다운을 지시. 1.4. HPA는 크기 조절이 불가능한 오브젝트(예: Daemonset)에는 적용할 수 없음. 1.5. HA..
-
Kubernetes (K8S): Object - 6-1. Storage: emptyDir공부합시다!/Kubernetes 2023. 7. 4. 00:13
emptyDir은 임시 볼륨입니다. 생명주기가 pod와 동일 동일 pod내에 복수개의 Container가 존재한다면 모든 Container가 공유합니다. pod존재하는 node에 특정 위치에 volume의 name으로 존재합니다. /var/lib/kubelet/pods/45df9acf-d3d5-466a-b213-25c200470c44/volumes/kubernetes.io~empty-dir 45df9acf-d3d5-466a-b213-25c200470c44는 임의의 문자열입니다. pod와 생명주기가 동일하다는 점 잊지마세요. pod내의 container가 삭제 되더라도 해당 volume은 존재합니다. 자세한 내용은 나중에 포스팅 합니다.
-
Kubernetes (K8S): pull rate limit 해결 - Containerd Local Repository공부합시다!/Kubernetes 2023. 6. 22. 17:26
원격지 docker hub의 Repository 사용으로 인한 pull rate limit를 docker를 이용하여 미리 다운로드한 Image를 Containerd에서 사용할 수 있는 방법입니다. 1. docker를 이용하여 다운로드 이미지 archive # docker save -o word.tar \ > nginx:1.14 nginx:1.23 nginx:latest \ > alpine:latest \ > httpd:latest \ > mysql:5.7 wordpress:5.6 \ > centos:7 2. K8S Cluster의 모든 Node로 scp를 이용한 파일 전송 scp word.tar root@10.0.0.{1..4}:/root/ 3. 전송한 파일을 containerd에 archive 해제 c..
-
Kubernetes (K8S): pull rate limit 해결 - Secret Base공부합시다!/Kubernetes 2023. 3. 31. 17:35
최근 docker or Kubernetes 사용중 pull rate limit 문제가 자주 발생합니다. 그 해결책을 조금 공유 하고자 합니다. 간단히 말해서 hub.docker.com 에 Login을 하는 방법입니다. 1. docker 1.1. # docker login 으로 hub.docker.com 로그인 2. Kubernetes 2.1. secret에 로그인 코드 생성 후 문제 해결 2.2. ngnix와 mysql를 생성하는 yml 파일 작성 2.3. apply 적용 2.4. 다운로드 제약 확인 2.5. 코드 작성 예시 2.6. secret 파일 작성 2.7. 각 yaml 파일의 끝에 코드 삽입 후 사용 2.8. yml 파일 적용 2.9. 제약 사항 없음을 확인 2.10. Patch 3. CLI 3..
-
Kubernetes(K8S): kubeclt cp 와 tar 다중 파일 복사공부합시다!/Kubernetes 2023. 1. 7. 00:16
안녕하세요! ㅎㅎ K8S환경에서도 docker와 동일하게 local host와 Pod, Pod와 local host사이의 파일 복사가 가능합니다. 물론 tar를 이용해서 다중 파일 복사도 가능합니다. 모두 docker와 동일합니다. 2023.01.06 - [공부합시다!/Container] - Docker: 다중 파일 복사 2022.05.27 - [공부합시다!/Container] - Docker : cp 파일 및 디렉토리 복사 Docker : cp 파일 및 디렉토리 복사 드디어 밀린 포스팅들을 작성하네요! 포스팅하는 날짜는 6월 3일 입니다. 사람은 거짓말 하고 살면 안돼요! 그럼 눈빛과 낯빛에 어둠이 드리워 집니다. 환했던 사람이 어두워 지는 건 바로 이 거 virtualtech.tistory.com 1..
-
Kubernetes(K8S): Helm + Prometheus + Grafana공부합시다!/Kubernetes 2023. 1. 6. 00:15
오늘은 K8S의 패키지 관리 echo system인 helm을 이용해서 Prometheus Stack을 설치합니다. 1. Helm: K8S chart(Package) 관리 시스템 2. Prometheus Stack 2.1. Prometheus: K8S Resource Mornitoring System(CPU, Memory 위주) 2.2. Grafana: Mornitoring System 시각화 3. 설정 변경 후 확인 순서로 진행하겠습니다. 1. Helm: K8S chart(Package) 관리 시스템 1.1. helm 설치 스크립트 다운로드 및 실행 1.2. repository 구성 및 update 1.3. 간단한 Helm 사용법 1.3.1. helm 설치 # curl -fsSL -o get_helm...
-
Kubernetes(K8S): DaemonSet & StatefulSet공부합시다!/Kubernetes 2023. 1. 4. 00:13
간단하게 말하자면 DaemonSet은 모든 Node 또는 특정 label를 가진 node에 하나씩의 동일한 pod를 배포해주는 resource, StatefulSet은 Pod(Pod내의 App)의 상태를 저장하고 관리하는 Resource 입니다. 1. DaemonSet 1.1. Worker Node의 Resource Mornitoring용 App 이나 Log 수집기를 배포할 때 사용됨 1.2. Pod를 Node에 하나씩 배포 - 별도의 Replicas를 설정하지 않음. 1.3. DaemonSet이 구동중인 Cluster에 Node가 추가되면 해당 Node에도 DaemonSet Pod가 배포됨. 1.4. 삭제된 DaemonSet Pod가 다른 Node로 이동하지는 않음. apiVersion: apps/v1..