#20230529(도커스웜, 롤링업데이트, ECS)

eeapbh·2023년 5월 29일
0

MZC

목록 보기
50/61

롤링 업데이트

--- 롤링 업데이트

# docker service ps my_web
# docker service inspect --pretty my_web
# docker service update --image halilinux/web-site:v1.0 my_web
# docker service ps my_web

--- 클러스터에서 특정 노드 드레인하기

# docker node ls
# docker service ps my_web
# docker node update --availability drain worker1
# docker node inspect --pretty worker1
# docker service ps my_web
# docker node update --availability active worker1
# docker service scale my_web=2
# docker service scale my_web=3
# docker node inspect --pretty worker1
# docker node update --availability pause worker2
# docker service scale my_web=5
# docker node inspect --pretty worker2
# docker node ls

Amazon ECS

  • Fargate = serverless
    용량설계에 대한 고민이 있다. 사용한 만큼만 지불

  • 새 계정 생성
  • 클러스터 생성

  • 업데이트 - 새배포

Kubernetess

- Minikube 설치(Single Node: Master Node + Worker Node)
# hostnamectl set-hostname minikube
# curl -fsSL https://get.docker.com/ | sudo sh
# systemctl enable --now docker
# yum install -y conntrack git
# curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.23.2/minikube-linux-amd64 && chmod +x minikube
# mkdir -p /usr/local/bin/
# install minikube /usr/local/bin/
# minikube version
# minikube start --driver=none
# minikube status

# *minikube 실행*
$ minikube start --driver=none
$ minikube status
	위치를 옮김
$ sudo mv /root/.kube /root/.minikube $HOME
	소유권 변경, 자격증명 관련 권한 존재
$ sudo chown -R $USER $HOME/.kube $HOME/.minikube

위의 명령어들은 Minikube를 설치하고 실행하기 위한 과정입니다. 각 명령어의 설명은 다음과 같습니다:

hostnamectl set-hostname minikube: 호스트 이름을 "minikube"로 설정합니다.

curl -fsSL https://get.docker.com/ | sudo sh: Docker를 설치하기 위해 Docker 설치 스크립트를 다운로드하고 실행합니다.

systemctl enable --now docker: Docker를 부팅 시 자동으로 시작하도록 설정하고 Docker 서비스를 시작합니다.

yum install -y conntrack git: conntrack 및 git 패키지를 설치합니다. conntrack은 Kubernetes 네트워크 연결 추적을 위해 필요한 도구입니다.

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.23.2/minikube-linux-amd64 && chmod +x minikube: Minikube 바이너리를 다운로드하고 실행 가능한 파일로 변경합니다. 여기서는 Linux 환경을 기준으로 설명되었습니다.

mkdir -p /usr/local/bin/: /usr/local/bin 디렉토리를 생성합니다.

install minikube /usr/local/bin/: minikube 바이너리를 /usr/local/bin 디렉토리에 설치합니다.

minikube version: 설치된 Minikube의 버전을 확인합니다.

minikube start --driver=none: Minikube를 시작합니다. --driver=none 옵션은 가상화 드라이버를 사용하지 않고 호스트 시스템에서 Kubernetes를 실행하도록 설정합니다.

minikube status: Minikube의 상태를 확인합니다.

위의 명령어들을 순서대로 실행하면 Minikube를 설치하고 실행할 수 있습니다. Minikube는 단일 노드의 Kubernetes 클러스터를 로컬 환경에서 실행할 수 있게 해주는 도구입니다.

- kubectl 설치
# curl -LO https://dl.k8s.io/release/v1.22.2/bin/linux/amd64/kubectl
# install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# yum install bash-completion -y
# source <(kubectl completion bash)
# echo "source <(kubectl completion bash)" >> ~/.bashrc
# exit
# kubectl version
# kubectl get node

curl -LO https://dl.k8s.io/release/v1.22.2/bin/linux/amd64/kubectl: kubectl 바이너리를 다운로드합니다. 여기서는 Linux 환경을 기준으로 설명되었습니다.

install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl: kubectl 바이너리를 /usr/local/bin 디렉토리에 설치합니다. 이 명령어는 root 사용자로 실행되어야 합니다.

yum install bash-completion -y: bash-completion 패키지를 설치합니다. 이 패키지는 kubectl 명령어의 자동 완성을 제공합니다.

source <(kubectl completion bash): kubectl 자동 완성을 활성화합니다. 이 명령어는 현재 세션에서만 적용됩니다.

echo "source <(kubectl completion bash)" >> ~/.bashrc: kubectl 자동 완성을 영구적으로 사용하기 위해 ~/.bashrc 파일에 명령어를 추가합니다. 이렇게 하면 새로운 세션에서도 자동 완성이 적용됩니다.

exit: 현재 셸 세션을 종료합니다. 이 단계는 현재 사용자의 변경 사항이 ~/.bashrc 파일에 적용되도록 합니다.

kubectl version: 설치된 kubectl의 버전을 확인합니다.

위의 명령어들을 순서대로 실행하면 kubectl을 설치하고 구성할 수 있습니다. kubectl은 Kubernetes 클러스터와 상호 작용하기 위한 명령줄 도구입니다. 이 도구를 사용하여 클러스터의 상태를 확인하고 관리할 수 있습니다.

CLI 기본 사용법

0개의 댓글