목록전체 글 (112)
컬쥐네 다락방
k8s 클러스터 업그레이드 업그레이드 순서 쿠버네티스의 버전차이(skew) 정책에 따라 업그레이드 순서를 지키지 않으면 작동에 오류가 생길 수 있다. 버전 차이 정책을 자세히 살펴보고 업그레이드하고자 하는 쿠버네티스의 구성 요소와 지원하는 버전 차이를 확인 후 진행하도록 한다. 보통 다음과 같은 순서로 진행된다. kube-apiserver kube-controller-manager, kube-cloud-controller-manage, kube-scheduler kubelet(Control Plane -> Worker Node) kube-proxy(Control Plane -> Worker Node) Control Plane(api -> cm, ccm, sched -> let,proxy) --> Work..
Worker Node 추가 Worker Node를 새롭게 만들어 Control Plane과 조인하는 방법에 대해 서술한다. Docker 설치 먼저 도커를 설치해준다. sudo apt-get updatesudo apt-get install ca-certificates curl gnupg lsb-releasecurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg..
K8s 설치 쿠버네티스 설치에는 다양한 방법이 존재한다. 여기서는 kubeadm 설치 방법을 서술한다. Kubeadm Kubespray (Kubeadm + Ansible) Kops Docker Desktop - Kubernetes minikube Kubeadm 1.22.8로 진행 후 업그레이드를 해본다 kubeadm, kubectl, kubelet 도구 설치 apt 패키지 업데이트 및 apt 레포지토리에 필요한 패키지 설치 sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl 구글 클라우드의 서명키를 가져온다. sudo curl -fsSLo /usr/share/keyrings/kubernetes-archiv..

쿠버네티스란? 쿠버네티스는 컨테이너화된 애플리케이션의 배포, 확장 관리등을 자동화하는 오픈소스 시스템. 구글이 내부에서 사용하던 프로그램을 기반으로 만들었고, 이를 CNCF에 기부하여 오픈 소스 프로젝트가 되었다. 서버리스, CI/CD 등 여러 기능들이 쿠버네티스 위에서 동작하게 된다. k8s라는 표기는 'k'와 's'와 그 사이에 있는 8글자를 나타내는 약식 표기이다. 개발 환경의 변화 전통적인 배포 시대 초기 조직은 애플리케이션을 물리 서버에서 실행했다. 한 물리 서버에서 여러 애플리케이션에 리소스 한계를 정의할 방법이 없었고 리소스 할당의 문제가 발생하기 시작했다. 이를 해결하기 위해 서로 다른 물리 서버에서 각 애플리케이션을 실행하는 것이 한 방법이었지만 이는 리로스가 충분히 활용되지 못한다는 점..
Docker Compose Docker Compose는 Docker의 IaC와 같은 것으로 yaml 코드로 컨테이너 설정을 기록해두는 것이다. docker-compose 명령어를 사용했으나 최근 docker compose로 변경되었다. 파일 확장자로는 docker-compose.yaml 또는 docker-compose.yml을 사용한다. 실행 docker compose up -d프로젝트 목록 확인 docker compose ls서비스 목록(컨테이너) docker compose ps삭제 docker compose down 도커 컴포즈로 배포한 컨테이너는 서로 이름으로 통신이 가능하다. docker compose를 사용한 wordpress 배포 version: "3" services: wp-db: #서비스명..
Docker 이미지 빌드 명령으로 이미지 생성 방법 docker commit 명령 Dockerfile docker diff 기준 이미지와 컨테이너의 차이점을 알 수 있는 명령어이다. docker diff 각 알파벳의 의미 A: Add C: Change D: Delete docker commit docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]CMD 변경 docker commit -c "CMD XXX" CONTAINER [REPOSITORY[:TAG]]ExposedPort 변경 docker commit -c "EXPOSE PORT/PROTOCOL" CONTAINER [REPOSITORY[:TAG]] ExposedPort는 실제 작동여부와 상관 없다. CMD /u..
Docker 볼륨 방식 Bind: 볼륨은 도커 데몬이 관리하지 않는다 Volume: 볼륨은 도커 데몬이 관리한다 이미지의 Config.Volumes 선언되어 있으면, 자동으로 Docker 볼륨이 생성되고 마운트된다. 볼륨 방식 마운트 볼륨: 읽기-쓰기가 가능한 빈 저장소를 생성 빈 볼륨 생성 docker volume create 볼륨 목록 docker volume ls볼륨 삭제 docker volume rm 사용하지 않는 볼륨 삭제 -> 컨테이너를 종료하더라도 할당된 볼륨은 그대로 남아있다. 다시 사용할 계획이 없다면 볼륨을 삭제해주는 것이 좋다. docker volume prune볼륨을 사용하는 컨테이너 생성 docker run -v :[:ro] 볼륨 생성과 워드프레스 배포 docker run --na..
Docker 네트워크 파일명으로 패키지 찾을 때 yum provides /usr/bin/ip apt install apt-file apt-file update apt-file search /usr/bin/ip네트워크 플러그인 종류 bridge: 기본 네트워크 host null ipvlan, macvlan, overlay 브릿지 네트워크 호스트 확인 인터페이스 확인 ip addr show docker0: 브릿지 vethX: 가상 인터페이스 브릿지 확인 명령 설치 sudo apt install bridge-utilsbrctl showNAT 테이블 확인 sudo iptables -t nat -L -n MASQUERADE: Source NAT 컨테이너 확인 sudo apt update sudo apt insta..