일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MySQL
- Kubernetes
- CKA 기출문제
- Java
- 정보처리기사 실기 기출문제
- 정보처리기사 실기
- IntelliJ
- APM
- Redis 모니터링
- kubectl 설치
- skaffold
- minikube dashboard
- Kubernetes 자격증
- Spring
- 정보처리기사실기 기출문제
- 공부
- kubernetes tool
- CloudWatch
- 기록으로 실력을 쌓자
- AWS EBS
- mysql 튜닝
- minikube
- Linux
- 쿠버네티스
- PETERICA
- aws
- CKA
- k9s
- Pinpoint
- AWS EKS
- Today
- Total
목록Kubernetes (127)
피터의 개발이야기
[kubernetes] 쿠버네티스 목차 ㅁ Pod 삭제 $ kubectl delete po redis pod "redis" deleted ㅇ Pod를 삭제하는 명령어이다. ㅇ 다량의 Pod를 삭제할 경우 하나씩 하기가 번거러울 수 있다. ㅁ Pod 전체 삭제 $ kubectl get pods --no-headers | awk '{ print $1};' | xargs kubectl delete pods pod "nginx" deleted ㅇ Pod 정보를 조회하여 awk로 인수를 필터하고 xargs도 Pod별로 삭제 명령을 주면 전체 삭제가 가능하다. ㅇ 명령어가 어떻게 구동하는지 풀어서 설명하면... ㅁ 명령어 빌드업 과정 ## 테스트를 위한 minikube 기동 $ minikube start 😄 Dar..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 이번 글은 쿠버네티스 클러스터 환경의 모니터링 방법에 대해서 정리하였다 쿠버네티스 모니터링을 아래의 그룹으로 나누어 정리하였다. ㅇ System Info : 시스템 정보인 CPU와 Memory 사용량에 대한 모니터링 ㅇ Cluster Events : kubernetes cluster에서 변화가 생기면 Event가 생성된다. 이를 Event를 확인하는 방법과 EKS에 순단 장애 발생 대처하는 과정 ㅇ 모니터링 UI : 쿠버네티스 대시보드, Prometeus+ Grafana와 같은 UI 모니터링 환경 ㅇ 서비스 모니터링 : 대량 트레픽 서비스를 운영하며 고가용성, 리소스 최적화를 통한 비용절감에 대한 글을 정리 사실 이미 있던 글을 그룹화하여 전반적인 쿠버..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 쿠버네티스는 기본 스케줄러 하나를 사용한다. 하지만 모든 Application이 하나의 스케줄에 만족하지 못할 경우, 다중스케줄러를 사용할 수 있다. 이 번 글은 쿠버네티스 문서, 다중 스케줄러 설정를 보고 실습 정리한 내용이다. ㅁ 스케줄러에서 사용할 Deployment 생성 아래의 Deployment 생성문은 클러스터 내에 직접 파드를 생성하는 Static Pod([kubernetes] Static Pod란?)가 아닌 Deployment의 형태로 만들어져 레플리카 셋에 의해 관리된다. 스케줄러 또한 파드로 관리하기 때문에 유동적인 스케줄러를 만들 수 있다. apiVersion: v1 kind: ServiceAccount metadata: name: ..
[kubernetes] 쿠버네티스 목차 ㅁ Static Pod란 Static Pod란 API-Server 없이 특정 노드에 있는 kubelet 데몬에 의해 직접 관리된다. 컨트롤 플레인에 의해 관리되는 파드(예 Deployment)와는 달리, kubelet이 직접 스태틱 파드를 감시한다. 스태틱 파드는 Kubelet가 관리상 특정 노드에 있는 하나의 Kubelet에 매여 있다. Kubelet은 Pod를 관리하는 Pod이기 때문에 데온에 가깝다. 노드에서 구동되는 스타틱 파드는 API 서버에 의해서 볼 수 있지만, API 서버에서 제어될 수는 없다. ㅁ 조회방법 $ k get po -A | grep controlplane kube-system etcd-controlplane 1/1 Running 0 27..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 [kubernetes] kubectl yaml 파일 생성, 쿠버네티스 yaml 작성에서 샘플 yaml을 얻는 방법을 정리하였다. 샘플 방법은 다음 세 가지가 있다. 1. dry-run 옵션 사용 2. 생성된 Pod 정보에서 샘플 얻기 3. kubernetes 공식문서에서 샘플 얻기 1번 방법으로 DaemonSet의 샘플을 얻으려니 방법이 없었다. 그래서 Deployment의 샘플을 얻어 일부 변경하는 방법을 찾게 되어 그 방법을 정리해 보았다. ㅁ Daemonset 샘플 yaml 얻는 방법 1. delplyment 형태로 우선 샘플 획득 $ kubectl create deployment elasticsearch \ --image=registry.k8s...
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 스캐줄링에 관련된 명령어 연습 ## 목록 ## 메뉴열 스케줄링 Lable와 Selector, Taint와 Tolerations Node Affinity Resource Limits DaemonSets Static Pod Multiple Schedulers ㅁ Manual Scheduling, node를 지정하여 nginx 생성 $ cat nginx.yaml --- apiVersion: v1 kind: Pod metadata: name: nginx spec: nodeName: node01 containers: - image: nginx name: nginx $ k apply -f nginx.yaml pod/nginx created ㅇ node를 지정하거나..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 kubectl 명령문을 사용하여 pod, deployment, service를 생성 연습해 보았다. ㅁ nginx pod 생성 $ k run nginx-pod --image=nginx:alpine --dry-run=client -o yaml apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx-pod name: nginx-pod spec: containers: - image: nginx:alpine name: nginx-pod resources: {} dnsPolicy: ClusterFirst restartPolicy: Always status: {} ㅁ redis P..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 쿠버네티스의 pod, deployment를 생성하기 위해 template를 작성하야 한다. kubectl로 쉽게 샘플 yaml파일 만드는 방법을 정리하였다. ## 목차 ## dry-run 옵션 사용 생성된 Pod 정보에서 샘플 얻기 kubernetes 공식문서에서 샘플 얻기 ㅁ dry-run 옵션 사용 ㅇ dry-run 옵션은 실제 구동하는 것이 아니라 테스트를 위한 옵션이다. ㅇ --dry-run=client 요청 시 client에 요청을 보내면 kubectl client가 해석을 하여 yaml 파일을 생성해 준다. $ k run nginx-pod --image=nginx:alpine --dry-run=server -o yaml apiVersion: ..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 클러스터 외부에서 파드로 접근할 때 주로 L7 영역의 통신을 담당하는 Ingress를 공부를 하였다. 쿠버네티스의 공식문서를 살펴 보는 중 NGINX 인그레스(Ingress) 컨트롤러로 Minikube에서 인그레스 설정하기 라는 좋은 실습내용이 있어서 내용을 정리하였다. 실습 과정 중 minikube driver가 docker인 경우 ingress 테스트가 불가하여 트러블 슈팅으로 hyperkit으로 변경하는 작업을 같이 수행하게 되었다. 이 과정은 Minikube 드라이브 Hyperkit 설치하기에 정리함. ㅁ 인그레스 컨트롤러 활성화 $ minikube addons enable ingress ㅇ 인그레스를 활성화 활성화한다. 앱 생성 및 Servic..
ㅁ 들어가며 minikube의 런타임 드라이브는 Docker Desktop이 기본이다. 인그레스(Ingress) 컨트롤러로 Minikube에서 인그레스 설정하기에서 docker로 Ingress 테스트를 진행하는데 실패하였다. 그래서 driver가 문제가 될 수 있다는 글을 보아서 drive 설치 및 docker의 네트워크 문제에 대해서 분석을 해 보았다. ㅁ Docker 안의 Docker 한계 ㅇ minikube를 사용하면서 네트워크 관련 작업을 할 때에 한계점을 만나게 된다. ㅇ minikube 드라이브를 Docker를 사용할 경우 minikube node는 Docker 컨테이너로 생성된다. ㅇ Ingress로 로드밸런스나 서비스를 생성하여 외부 접속 테스트를 할 때이면 외부에서는 쉽게 접속이 되지 않..