해당 내용은 패스트캠프 Kubernetes와 Docker로 한 번에 끝내는 컨테이너 기반 MSA를 정리한 내용입니다:)
WSL 및 Window Desktop은 충돌 문제로 추천하고 있지 않기에, 이후 minikube를 위해서 AWS t3.small로 도전해보기로 한다..!(내돈..!)
무튼... EC2를 열어주고 보안설정 후 EC2에 연결해 Docker를 설치해보자.
#!/usr/bin/env bash
## INFO: https://docs.docker.com/engine/install/ubuntu/
set -euf -o pipefail
DOCKER_USER=ubuntu
# Install dependencies
sudo apt-get update && sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
# Add Docker’s official GPG key
sudo mkdir -m 0755 -p /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Set up the stable repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker CE
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# Use Docker without root
sudo usermod -aG docker $DOCKER_USER
cat > install-docker.sh
후 상기 내용을 붙여넣기하고 Ctrl + D로 종료한다
chmod u+x install-docker.sh
입력./install-docker.sh
로 sh파일을 실행해줍니다.E: Unable to locate package
문제가 뜬다면 sudo apt update
루트계정으로 진행해버리기!sudo gpasswd -a ubuntu docker
사용하기#!/usr/bin/env bash
## INFO: https://docs.docker.com/compose/install/
set -euf -o pipefail
DOCKER_COMPOSE_VERSION=v2.1.1 # 버전 지정가능
# Download and install
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
set -euf -o pipefail
# Install dependencies
sudo apt-get update && sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
# Add kubectl's official GPG key
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg
# Set up the repository
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
# Install kubectl
sudo apt-get update && sudo apt-get install -y kubectl
kubectl version
을 통해 설치가 됐는지 확인이 가능하다.#!/usr/bin/env bash
set -euf -o pipefail
KUSTOMIZE_VERSION=v4.4.1
# Download kustomize binary
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/kustomize/${KUSTOMIZE_VERSION}/hack/install_kustomize.sh" | bash
# Install to /usr/local/bin
sudo install -o root -g root -m 0755 kustomize /usr/local/bin/kustomize
가상환경을 사용하여 쿠버네티스 클러스터를 구현
드라이버(driver)를 선택하여 원하는 가상환경(docker, podman, virtualbox, parallels, vmware, hyperkit 등)에서 구성 가능
실제 운영환경에선 쓰기 어렵지만 쿠버네티스 학습환경으로 활용하기 좋음
작은 쿠버네티스.
쿠버네티스는 오케스트레이션 시스템으로 컨테이너를 클러스터레벨에서 효율적으로 관리하기 위한 시스템
클러스터 : 집합. -> 여러 머신을 관리하는 시스템
운영환경을 맞추려면 여러 머신위에 쿠버네티스를 구성하게됨.
학습할 때 여러 머신을 사용하기 어려우니까 손쉽게 할 수 있도록 쿠버 솔루션을 제공하는 것이 minikube!
최소사항 확인! -> 이것때문에 t3.small로 갔다귱
#!/usr/bin/env bash
## INFO: https://minikube.sigs.k8s.io/docs/start/
set -euf -o pipefail
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube --driver docker
로 드라이버를 도커로 설정해 설치해줌wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
terraform -v
로 설치 확인하고, 테라폼 데이터를 git clone해서 받아준다
해당 파일을 보면, networkk, ec2-instance로 나눠져 있는 것을 볼 수 있다.
여기서 network는 network 테라폼 인스턴스를 의미하고, ec2-instance는 ec2-instance는 테라폼 인스턴스를 의미한다.
AdministratorAccess
를 정책으로 직접 연결해준다. aws configure
에서 설정해주면 된다. 해당 내용은 블로그 참조terraform init
으로 먼저 테라폼 워크스페이스 초기화 해준다.테라폼은 서브넷, vpc를 다 개인화로 맞춰줘야하기때문에.,,.. DevOps를 꿈꾸는게 아니라면 시간 여유가 있을 때 하는 것이 좋을 것 같다....... gg.....