반응형
5 쿠버네티스의 기본
5.1 아키텍처
※ 쿠버네티스는 마스터와 노드로 구성되고, 각각의 기능과 역할 그리고 구성 요소를 확인
※ 이전까지 docker까지 설치하고 명령어를 알아봤다. Kubernetes를 우분투 20.04 버전에 설치하는 순서를 알아본다.
sudo -i
apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
## 자동 업데이트 방지
apt-mark hold kubelet kubeadm kubectl
kubeadm init
- 명령어 정리는 위와 같다. 캡처버전을 통해 어떻게 풀어 나가야 하는지 설명하겠다.
- kubelet kubeadm kubectl을 설치해준다.
- kubeadm init
kubectl 명령어를 위한 설치를 진행
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
- 해당 config파일이 어떻게 생겨먹은건지 몰라서, 검색을 열심히 했는데 이것까지 다루는 블로그가 없었다.
뭐 대충 이렇게 생긴 config
# 정상적으로 kubectl이 설치되었는지 확인한다
kubectl cluster-info
※ 쿠버네티스 자동완성 툴
apt-get install bash-completion
source /usr/share/bash-completion/bash_completion
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc
# bash 다시 로드
exec bash
※ kubectl convert 플러그인 설치
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
# 플러그인이 정상적으로 설치되었는지 확인
kubectl convert --help
참고링크
★ kubectl에서 노드를 분리
MASTER NODE
kubectl get pods --all-namespaces
오류!! 오류!! 아래의 코드를 참조해서 진행한다.
kubeadm reset
# kubeadm init을 초기화 해준다
swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab
modprobe br_netfilter
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo reboot
# preserve_hostname: false 를 true로 값을 변경해준다
preserve_hostname: true
# default cidr로 설정한다.
kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p ~/.kube
sudo cp /etc/kubernetes/admin.conf ~/.kube/config
sudo chmod 644 ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl get pods --all-namespaces
위의 상태가 되면 MASTER NODE의 구성이 끝났다.
참고한 블로그 링크
반응형
'개발 > 클라우드 엔지니어' 카테고리의 다른 글
5. 쿠버네티스의 기본 (0) | 2024.01.24 |
---|---|
우분투에 쿠버네티스 설치하기 2 (1) | 2024.01.18 |
우분투에 쿠버네티스 설치하기 1 (0) | 2024.01.17 |
2 컨테이너의 이해 (0) | 2024.01.16 |
1. 쿠버네티스란? (1) | 2024.01.15 |