분류 전체보기
-
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..
-
Ansible: HAPROXY + Apache + Wordpress공부합시다!/Ansible 2023. 6. 14. 17:41
Haproxy와 apache web server를 동일 node에 구성하는 예제입니다. haproxy는 80 port를 web server는 8080 port를 사용합니다. 1. code --- - name: wordpress download & install, php7.4 install hosts: was1 tasks: - name: wget, httpd, php repository, php7.4 repo install yum: name: "{{ item }}" state: present loop: - wget - httpd - yum-utils - epel-release - http://rpms.remirepo.net/enterprise/remi-release-7.rpm - haproxy - name..
-
Ansible: nginx + wordpress공부합시다!/Ansible 2023. 6. 14. 17:31
nginx + wordpress 1. code --- - name: nginx & wordpress & php-fpm hosts: nginx tasks: - name: package install yum: name: - wget - yum-utils - epel-release state: present ignore_errors: yes - name: nginx package install yum: name: nginx state: present ignore_errors: yes - name: url download wordpress get_url: url: https://ko.wordpress.org/wordpress-5.8.6-ko_KR.tar.gz dest: ./ - name: archive & un..
-
CentOS7: Nginx + Wordpress + PHP7.4 + MySQL5.7공부합시다!/LInux 2023. 6. 14. 11:53
apache 웹서버에 Nginx 구성은 이미 해 보았으니 이제는 Nginx 웹서버에 wordpress를 구성해 보도록 하겠습니다. 대부분 동일한 과정 입니다만 추가로 php-fpm 설치 및 구성 작업이 존재합니다. 1. 설치된 packages의 최종 버젼 확인 1.1. php7.4.33 1.2. nginx1.20.1 1.3. wordpress5.8.6 2. 필수 package 설치 2.1. wget: url을 이용한 파일 다운로드 2.2. yum-utils: yum-config-manager를 이용한 php7.4 enable 2.3. epel-release: redhat 공식 리포지토리 2.4. nginx: Web Server 2.5. 설치 명령어 # yum install -y wget yum-utils..