Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 자바
- 명령어
- iBatis
- mssql
- IntelliJ
- analytics4
- SQL
- Linux
- zset
- 오블완
- 리눅스
- docker
- 호이스팅
- mysql
- oracle
- Javascript
- isNotEmpty
- DBMS
- 티스토리챌린지
- MariaDB
- git
- Python
- pandas
- java
- error
- datagrip
- Kibana
- PostgreSQL
- spring
- github
Archives
- Today
- Total
hanker
Linux - 쿠버네티스 설치 가이드 (ubuntu / CentOS) 본문
반응형
이번 글에서는 쿠버네티스를 설치하고 kubeadm을 이용하여 마스터 노드와 워커 노드를 설정하는 기본적인 방법을 알아보자.
1. 설치 전 기본 셋팅
1-1. 시스템 업데이트 및 필요 패키지 설치
# ubuntu
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y apt-transport-https ca-certificates curl
#centOS
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1-2. Swap 비활성화
sudo swapoff -a
# /etc/fstab 파일에서 swap 항목 주석 처리하여 부팅 시 자동 실행 방지
2. 컨테이너 런타임 설치
- 컨테이너를 실행하고 관리하는 도구인 컨테이너 런타임을 설치하자
2-1. ubuntu
sudo apt-get install -y containerd
# 기본 설정 파일 생성
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
# 서비스 재시작 후 활성화
sudo systemctl restart containerd
sudo systemctl enable containerd
- containerd config default를 실행하면 containerd의 기본 설정 값을 출력하게 되는데, 해당 출력 값을 /etc/containerd/config.toml 파일에 저장한다.
2-2. CentOS
sudo yum install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd
3. 쿠버네티스 패키지 설치
3-1. 쿠버네티스 패키지 저장소 추가
3-1-1. ubuntu
sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
3-2-2. CentOS
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
sudo yum update -y
3-3. kubeadm, kubelet, kubectl 설치
- kubeadm: 클러스터 초기화와 구성에 사용되는 설치 도구
- kubelet: 각 노드에서 컨테이너와 파드 상태를 관리하는 에이전트
- kubectl: 클러스터의 리소스를 관리하는 커맨드라인 유틸리티
# ubuntu
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl # 버전 변경 방지
# CentOS
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet && sudo systemctl start kubelet
4. 쿠버네티스 클러스터 초기화 및 워커 노드 추가
4-1. 마스터 노드에서 클러스터 초기화
- 마스터 노드에서 실행
sudo kubeadm init --pod-network-cidr=192.168.0.0/16

4-2. kubectl 설정
- 마스터 노드에서 일반 사용자 계정에서도 kubectl이 작동하도록 설정
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
4-3. Pod 네트워크 애드온 설치
- Calico 네트워크 플러그인 설치
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
테스트
아래 명령어를 통해 클러스터 상태를 확인할 수 있다.
kubectl get nodes
kubectl get pods --all-namespaces
반응형
'SERVER > DOCKER' 카테고리의 다른 글
Docker-compose - kibana 실행 시 ERROR: for kibana Cannot start service kibana: unable to find user kibana: no matching entries in passwd file 오류 (0) | 2025.04.13 |
---|---|
Docker - Docker Network 란? (0) | 2024.11.29 |
Docker - Docker 이미지 만들어서 Docker Hub에 도커 이미지 배포하기 (0) | 2024.11.29 |
Docker 용어 정리: Docker Image 란 무엇일까? (0) | 2024.11.26 |
Docker - 기본 명령어 정리 (0) | 2024.11.24 |