목록Project (18)
ITFragile

불필요한 리소스 낭비를 줄이고 파드 개수를 리소스 사용량을 기준으로 자동으로 관리하기 위해 deployment에 hpa 구성 설정을 해준다. 1. hpa 생성 # hpa.yaml apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: hpa-webserver labels: app: myweb spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: myweb minReplicas: 2 # 최소 파드 개수 2개 maxReplicas: # 최대 파드 개수 10개 targetCPUUtilizationPercentage: 50 # cpu의 평균 사용량 50% 기준으로 제한/생성 ..

1.DB 구성 먼저 DB에 직접 접속하여 연걸할 db, table, user 생성한다. kubectl exec mydb-0 -it -- bash 만드는 건 [Linux] 01. 작업 환경 구성 (tistory.com) 참고~~ 현재 파드 상태 2. 컨피그맵으로 연결한 index.php 수정 # index.php 3. 서비스 타입 변경 현재 웹서버는 인그레스로 접근시 curl로는 php,html 출력되지만 웹에서 직접 도메인 접속을 확인할 수 없음 따라서 서비스를 Loadbalancer로 바꾸어 external ip를 부여받아 확인 해보자. 다시 서비스와 디플로이먼트 실행하면 서비스 타입이 로드밸런서로 변경되고 외부에서 접근 가능한 external ip가 부여되었다. 해당 ip로 접근시 두 파드를 번갈아서..

구성목표 1. web 배포 방식 : Deployment 디플로이먼트 2. 서비스 : Ingress 설정 - 외부에서 내부 파드로 접속시 포워딩 해주는 로드밸런서 기능 - 인그레스의 URL 주소로 접속하여 서비스를 통해 파드로 전달되도록 설정 3. 볼륨 : 컨피그맵을 볼륨으로 사용 - index.html , index.php 작성 후 컨피그맵 생성하여 볼륨으로 마운트 4. 오토스케일링 : HPA 구성 - 불필요한 리소스 낭비를 줄이고 파드 개수를 리소스 사용량을 기준으로 자동으로 관리하기 위해 사용 1. Ingress 설정 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-ing spec: rules: - host: web.kyungeun..

web server 구성에 필요한 apache2, php, php-mysql 이 합쳐진 이미지를 Dockerfile로 작성하여 빌드하도록 한다. 먼저, 이미지 빌드를 위해 Docker 설치부터 진행한다. 1. Docker 설치 sudo apt-get install ca-certificates curl gnupg lsb-release 2. gpg키 저장할 디렉토리 생성 $ sudo mkdir -p /etc/apt/keyrings 3. gpg 키 저장 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 4. 도커 설치할 repository 추가 echo "deb [a..

구성 목표 1. DB 배포 방식 : StatefulSet 스테이트풀셋 - 파드들의 순서 및 고유성을 보장하기 때문에 상태가 있는 DB같은 경우 스테이트풀셋으로 배포한다. 이때 클러스터 IP가 없는 헤드리스 서비스(IP주소를 할당하지 않는 방식)를 사용 파드 이름이 고정이고 serviceName 설정을 해서 특정 파드를 지정해서 접속 가능하도록 함. 2. DB 이중화 : Master, Slave로 운영 - mysql 설정 파일 컨피그맵 : Master, Slave 독립적으로 제어 (Slave는 읽기 전용) 3. 서비스 : 각 파드에 따로 접근하기 위해 헤드리스 서비스 이용 - 단, DB를 외부에서 읽기 위한 비헤드리스 서비스도 추가하여, db-read로 접근시 로드밸런서를 통해 아무 노드나 접근 가능하도록..

작업환경 : virtualbox / ubuntu 20.04 Kubespray를 이용한 쿠버네티스 클러스터 설치 Control Plane (마스터 노드) : 1대 node : 3대 Control-node Info name: control-plane01 ip : 192.168.56.11 node01 Info name: node01 ip : 192.168.56.21 node02 Info name: node02 ip : 192.168.56.22 node03 Info name: node03 ip : 192.168.56.23 vagrant ssh control-plane01 1. 키 생성 ssh-keygen 2. 키 복사 ssh-copy-id vagrant@node01 ssh-copy-id vagrant@node0..