[Cloud] Kubernetes - 설치 및 설정

Song·2024년 10월 24일

Kubernetes

목록 보기
2/3
post-thumbnail

설치

1) git 설치

apt install -y git

2) clone

git clone -b v2.16.0 https://github.com/kubernetes-sigs/kubespray.git

해당 디렉토리로 이동해 apt update -y

3) 필수 패키지 설치

kubernetes는 파이썬으로 동작한다. 그래서 pip를 설치해주어야 한다.

apt install -y python3-pip

kubernetes 디렉토리 안에 requirements.txt에 k8s 실행을 위해 설치해야할 모듈 정보가 적혀있다.

cat requirements.txt

위 정보를 수정해준다.

해당 파일을 pip3 명령어의 -r 옵션 인자로 입력한다.

위 문구가 출력될 경우 --break-system-packages 옵션 추가해서 다시 입력

4) Inventory

인벤토리 sample을 mycluster라는 이름으로 복사해준다.

cp -rpf inventory/sample/ inventory/mycluster

5) 노드 등록 (마스터 & 워커)

inventory/mycluster 디렉토리에 있는 inventory.ini 파일에 노드들을 등록해준다.

  • [all] : 전체 노드 등록

  • [kube_control_plane] : 마스터 노드 등록

  • [etcd] : 마스터 노드 등록

  • [kube_node] : 워커 노드 등록

6) 파일 설정

inventory/mycluster/group_vars/k8s_cluster 밑에 k8s-cluster.yml 파일 구문 수정.

  • 129라인 구문 수정

  • 229라인 구문 확인

  • 240라인 구문 수정

7) Kubernetes 설치

ansible-playbook -i inventory/mycluster/inventory.ini --become --become-user=root -v cluster.yml

snap install kubectl --classic

kubectl get node -o wide 이 명령어를 입력했을 때 각 노드들 정보가 출력되면 성공적으로 설치된 것이다.

8) bashrc 설정

~/.bashrc 파일에 아래 구문 작성

위 구문 아래에 추가로 alias 작성

작성 후 source ~/.bashrc 실행 한 다음 노드 정보 확인할 수 있는 kgn alias 실행


Krew 설치

1) 설치

(
  set -x; cd "$(mktemp -d)" &&
  OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
  ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
  KREW="krew-${OS}_${ARCH}" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
  tar zxvf "${KREW}.tar.gz" &&
  ./"${KREW}" install krew
)

네트워크 안될 경우

/etc/resolv.conf 삭제 후 /run/systemd/resolve/resolv.conf 파일 ln -s 링크로 다시 심볼릭 링크 생성. 생성 후 파일 안에 원하는 DNS 서버 주소 입력.

2) 파일 설정

~/.bashrc 파일 맨 아래 구문 추가

추가 후 source ~/.bashrc

3) krew 실행

k krew 실행 시 krew 설명이 출력되면 설치 성공.

profile
안녕하세요

0개의 댓글