[태그:] 쿠버네티스
쿠버네티스 K8S에 관한 글입니다.
-
GitLab Runner로 가상서버(VM) 및 k8s 배포 하기
정보시스템을 구성하는데 있어 모든 IT 인프라를 물리적으로 구성하는 것은 너무도 큰 비용과 시간 그리고 인력의 투입을 필요로 한다. 그렇기에 최근 정보시스템의 구축·운영 패러다임은 가상화다. 그리고 응용프로그램 뿐만 아니라 인프라 조차도 IaC(Infra as a Code)를 통해 가상화 환경으로 배포한다. 그리고 이런 패러다임의 추종은 인프라 및 응용프로그램의 구성이 너무도 복잡해진 테스트 용 홈랩 환경에서도 필수적이다. 필자는 Proxmox VE 클러스터 환경에 홈랩을 구성하였고 Windows 11 PC에 VSCode와 Ter …
-
쿠버네티스 노드의 디스크 용량 확장
이런 저런 테스트를 위해 두 대의 PC에 설치해 사용하고 있는 쿠버네티스 클러스터의 워커노드에서 디스크가 부족하다는 메시지가 뜨기 시작했다. 그런데 용량이 부족하다는 메시지가 아니라 "disk pressure"라는 메시지가 보인다. 해석하자면 "디스크에 압박이 있다" 정도가 아닐까? 어쨌든 쿠버네티스 입장에서 워커노드의 디스크 용량이 부족해 압박을 받고 있다는 그런 메시지로 보인다. 당연히 쿠버네티스 노드의 디스크 용량을 증설해줘야 한다. 이참에 마스터 노드와 워커 노드 모두 현재 24G가 할당되어 있는 디스크에 24G를 더 추가 …
-
쿠버네티스 클러스터에 워드프레스 설치하기
몇 개월 전에 쿠버네티스에 MariaDB를 설치하면서 시놀로지 NAS를 NFS서버로 구성하여 Persistent Volume을 생성한 다음 MariaDB Pod에 연결하는 작업을 진행했다. https://blogger.pe.kr/1182-k8s-mariadb-nfs-pv-install/ 처음 진행해보는 이 작업은 정말 까다롭고 어려웠던 것으로 기억된다. 단순하게 MariaDB를 설치하는 것이면 그다지 어렵지 않았겠지만 시놀로지 NAS를 NFS로 연결하여 Persistent Volume으로 사용할 수 있도록 설정하는 과정이 쉽지는 …
-
쿠버네티스 업그레이드 – 워커 노드
앞의 포스트에서 쿠버네티스 클러스터의 컨트롤 플레인에 해당하는 마스터 노드의 업그레이드 과정을 기록했다. 이제 워커 노드의 업그레이드 과정을 포스팅한다. 마스터 노드의 업그레이드와 동일한 부분 노드 운영체제 버전과 쿠버네티스의 버전을 확인하는 과정은 당연히 동일하다. 그리고 쿠버네티스 APT 리포지토리를 업그레이드하고자 하는 쿠버네티스의 버전 경로로 수정하는 것도 동일하다. 그리고 apt update 명령을 통해 APT 리포지토리에서 최신 패키지 목록을 다운로드 하는 것도 동일하게 진행해주면 된다. 마지막으로 kubeadm 패키지 …
-
쿠버네티스 업그레이드 – 마스터 노드
두 대의 PC에 구성한 Proxmox VE의 클러스터에 쿠버네티스를 설치하여 이따금씩 테스트 용도로 사용하기 시작한지 9개월 쯤 지났다. NginX 웹서버, MySQL DBMS 등을 디플로이먼트(Deployment)로 배포하고 PV(Persistent Volume)을 생성해 MySQL POD에 바인드(Bind)해서 테스트하기도 했다. https://blogger.pe.kr/1155-proxmox-kubernetes-install/ 쿠버네티스 마스터 노드 업그레이드 하기 8개월 쯤 사용해봤으면 이제 업그레이드 테스트도 해보는 것이 …
-
[k8s]MariaDB를 Pod로 설치하기(NFS PV에 DB생성)
쿠버네티스를 설치하고 NginX 웹서버를 Pod로 설치해 배포하는 테스트를 한 후 다음 테스트는 DB의 설치를 테스트 해야 한다. 그런데 Pod로 웹서버나 DBMS를 설치할 때 문제가 하나 있다. 바로 Pod(컨네이너도 마찬가지임)의 데이터는 정적이라는 것이다. 동적인 데이터의 변화가 있는 응용프로그램이나 DBMS를 Pod로 설치 및 배포할 경우 Pod를 중지하면 Pod 실행 중 발생한 Pod내에 추가,삭제,수정된 데이터의 변경은 모두 사라진다. 즉 Pod가 최초로 설치 및 배포되었을 때로 돌아가게 된다. PV (Persisten …
-
쿠버네티스에 Nginx 배포하기 (Deployment / Pod)
Proxmox에 구축한 Kubernetes에 첫 응용프로그램을 배포했다. 배포한 응용프로그램은 깡통 Nginx로서 디플로이먼트(Deployment)로 배포했다. 쿠버네티스에서 응용프로그램을 배포하는 가장 일반적인 방법이 디플로이먼트를 생성해 배포하는 것이다. 디플로이먼트란 쿠버네티스에서 응용프로그램 배포의 최소단위는 컨테이너(container)가 포함된 POD인 것이 일반적이다. 그리고 POD는 1개 이상의 컨테이너를 포함하는 관리단위다. 그리고 쿠버네티스가 POD를 관리하는데 필요한 정보를 포함하는 배포단위가 바로 디플로이먼트다 …
-
Proxmox 클러스터 환경에 쿠버네티스 설치하기
테스트 용으로 구축한 Proxmox VE 클러스터 환경에 드디어 쿠버네티스를 설치했다. 물리적인 Proxmox 클러스터 노드는 2대의 PC로 구성하였고 가상머신(VM)은 쿠버네티스 마스터 노드 용 1개와 워커노드 용 2개로 구성했다. 가상 머신의 사전 요구사항 아래 화면에서 붉색 화살표가 가리키는 prxmx와 prxmx2가 Proxmox VE가 설치된 2대의 물리PC다. 1대의 마스터 노드와 2대의 워커노드로 구성된 쿠버네티스 클러스터가 설치된 환경 이 물리PC에 위 화면처럼 쿠버네티스 마스터 노드로 사용할 k8s-master-a …