본문 바로가기
728x90

컨테이너13

[EKS] AWS EC2 EBS(Disk) I/O 사용률에 따른 쿠버네티스 서비스 지연 EKS 클러스터 내, Disk I/O를 많이 유발하는 SW가 있다. 예를 들어, Daemonset으로 배포되어 있는 Fluentd 같은 서비스들이 EC2 노드 자원에 Disk I/O를 많이 사용하게 되는 경우 EBS IOPS 3000 기준에 자원이 부족하여 노드 내 kubelet에서 통신이 지연되어 전체적인 서비스 지연으로 이어질 수 있다. 아래 내용은 EBS Disk I/O의 과도한 사용으로 인한 Kubernetes 관점에 서비스 영향도를 나열해보았다. ⅰ) 노드 성능저하 EBS 디스크 IO 사용률이 높으면 EC2 노드에서 지연 시간과 리소스 경합이 증가할 수 있다. 이는 노드의 전반적인 성능에 영향을 미치고 노드에서 실행되는 모든 Pod의 응답시간이 느려질 수 있다. ⅱ) Pod 스케쥴링 지연 Dis.. 2023. 7. 6.
[K8S] 쿠버네티스 네트워킹의 이해 쿠버네티스의 네트워킹에 대해 간단하게 이해한 내용을 정리하고자 한다. - 개인적으로 쉽게 이해하기 위해 혼자 공부한 내용 + 블로그 내용을 참고하여 정리한 글입니다. 틀린 부분이 있을 수 있습니다. 1. pause 컨테이너란? : 하나의 파드를 생성하게 되면 해당 파드 하위의 컨테이너들은 pause 컨테이너의 네트워크 네임스페이스(veth0) IP를 갖게된다. 따라서 동일한 파드 내의 컨테이너 끼리는 하나의 파드 안에서 가상 인터페이스(veth0)를 공유하여 127.0.0.1 (localhost)로 포트를 구분하여 통신할 수 있다. -> Pod는 pause 컨테이너를 통해 네트워크 스택을 공유한다. 허나 위에 그림처럼 도커 네트워크 구조로 여러 노드를 구성할 경우 각각의 파드의 네트워크가 연결되어 있지 .. 2022. 12. 6.
Pod의 생명주기 ★ Pod Lifecycle (생명주기) : Pod는 기동 시에 기본 컨테이너 중 하나 이상이 정상으로 시작하면 Pending -> Running 단계로 넘어가며 Pod 안의 컨테이너 중 하나라도 실패로 종료되었는지 여부에 따라 Succeeded 또는 Failed가 된다. Pod가 실행되는 동안 kubelet은 오류를 핸들링하기 위해 컨테이너를 재시작시킬 수 있다. 쿠버네티스는 Pod 내의 컨테이너 상태를 추적하고 Pod를 다시 정상 Status로 만들기 위해 수행할 조치를 취한다. Kubernetes API안에 Pod는 사양과 실제 상태를 갖고 있다. Pod가 노드에 한번 스케쥴되면, Stop되거나 Termintaed되지 않는 한 수명주기 동안 오직 한번만 스케쥴된다. ★ Pod Phase (단계) P.. 2022. 11. 18.
[K8S] 쿠버네티스 클러스터 조인 실패 시, kube init 재구성하는 방법 * k8s 재설정 : 모든 docker container, image 삭제되는 초기화 작업 [root@k8s-master]# kubeadm reset [root@k8s-node1]# kubeadm reset [root@k8s-node2]# kubeadm reset [root@k8s-master]# systemctl restart kubelet [root@k8s-node1]# systemctl restart kubelet [root@k8s-node2]# systemctl restart kubelet [root@k8s-master]# kubeadm init --apiserver-advertise-address=192.168.80.128 --pod-network-cidr=10.96.0.0/12 > 만약 wor.. 2021. 12. 1.
[K8S] 쿠버네티스를 활용한 3-Tier 컨테이너 환경 구성(NginX/Tomcat/MySQL) 지난 글에서는 "도커를 활용한 3-Tier 컨테이너 환경 구성"을 해보았다. https://syhwang.tistory.com/54 [Docker] Docker를 활용한 3-Tier 컨테이너 환경 구성(NginX/Tomcat/MySQL) 이번 글에서는 Docker를 사용하여 간단한 3-Tier 컨테이너 환경을 구성해보고자 한다. - WEB = NginX - WAS = Tomcat - DB = MySQL 구성은 WAS -> WEB -> DB 순으로 하도록 한다. 우선, WAS 부터 구성해보도록 하.. syhwang.tistory.com 이번 글에서는 쿠버네티스를 활용한 3-Tier 컨테이너 환경 구성을 해보고자 한다. 구성은 도커와 동일하게 아래와 같이 간다. - WEB = NginX - WAS = Tom.. 2021. 11. 17.
[Docker] Docker를 활용한 3-Tier 컨테이너 환경 구성(NginX/Tomcat/MySQL) 이번 글에서는 Docker를 사용하여 간단한 3-Tier 컨테이너 환경을 구성해보고자 한다. - WEB = NginX - WAS = Tomcat - DB = MySQL 구성은 WAS -> WEB -> DB 순으로 하도록 한다. 우선, WAS 부터 구성해보도록 하자. 1. WAS 구성 1-1. Github에 올라가 있는 어플리케이션 소스 다운로드 > 소스를 다운받을 디렉토리 생성 후 Git 저장소에서 소스를 Pull 한다. root@master:~# mkdir -p /home/src root@master:~# cd /home/src root@master:/home/src# root@master:/home/src# git clone https://github.com/Hwang-sangyeon/spring-f.. 2021. 11. 7.
728x90