Docker 설치
- https://docs.docker.com/engine/install/ubuntu/ 접속
1. 도커 키링(GPG-key) 설치
# Add Docker's official GPG key:
# apt-get update
# apt-get install ca-certificates curl
# install -m 0755 -d /etc/apt/keyrings
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
# chmod a+r /etc/apt/keyrings/docker.asc
2. 리포지토리 추가
# echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# apt-get update
3. 도커 패키지 설치
# apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. 도커 패키지 설치 확인
# systemctl enable docker
# systemctl start docker
# docker --version
# ps -ef | grep docker
쿠버네티스 설치 (VM)
1. swap off 하기 - 쿠버 공식 홈에서 추천
# swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab
2. 브릿지 네트워크 리슨 하도록 지원설정
# cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
# sysctl --system
3. 시스템 네트워크 설정 및 방화벽 off
# systemctl stop firewalld
# systemctl disable firewalld
4. kubeadm, kubelet, kubectl 설치
- 공통 (Master, Node)
- 패키지 업데이트 및 k8s apt 저장소 사용시 필요한 패키지 설치
# apt-get update
# apt-get install -y apt-transport-https ca-certificates curl gpg
- k8s 패키지 저장소 공개 서명키 다운로드
# curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
- k8s apt 저장소 추가 (1.31버전용)
# echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
- kubelet, kubeadm, kubectl 설치 및 확인
# apt-get update
# apt-get install -y kubelet kubeadm kubectl
# apt-mark hold kubelet kubeadm kubectl
- kubelet 서비스 활성화
# systemctl start kubelet
# systemctl enable --now kubelet
5. control-plane 구성 (https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)
<Master에서만 실행>
# vi /etc/containerd/config.toml
-> 해당 문구 주석처리 해야 정상적으로 진행됨 disabled_plugins = ["cri"]
# kubeadm init (master의 컴포넌트 생성 <API, Controller, schduler, etcd, coreDNS>)
-> 마지막에 kubeadm join... 의 문구는 복사해놓는다
* kubectl get nodes (pods) 등등 명령어 사용하려면 아래의 설정 추가 <유저별 홈 디렉토리도 설정 가능>
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
- pod 네트워크 설치
# kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml
6.worker-node 구성
- worker-node에서 아까 복사해놓은 'kubeadm join...' 을 실행한다.
'Tech' 카테고리의 다른 글
k8s 공부 (진행중) (0) | 2024.12.10 |
---|---|
k8s 설치간 error 모음 (계속 업뎃중) (0) | 2024.11.26 |
Jenkins 설치시 public key not installed 에러 상황 (0) | 2024.03.21 |
Zabbix 버전별 설치 및 마이그레이션 (0) | 2020.12.01 |
centos7에서 git 2.x 버전 설치하기 (0) | 2020.10.16 |