2022-10-31
#18 [학습서]Kubernetes 설치 학습서
2022-10-31
Tasks

Kubernetes 설치 학습서#

본 학습서는 V-Raptor nano를 이용하여 Kubernetes를 설치하는 방법을 학습하기 위해 작성했습니다.

추가적인 Kubernetes 설치방법은 공식문서인 https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/를 참고하시길 바랍니다.


Kubernetes#

  • Docker가 설치되어 있는 환경에서 진행합니다.

  • Kubernetes 사용을 위한 네트워크 설정

    cat << EOF | sudo tee -a /etc/modules-load.d/k8s.conf
    overlay
    br_netfilter
    EOF
    
    modprobe overlay
    modprobe br_netfilter
    
    cat << EOF | sudo tee -a /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-iptables  = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    net.ipv4.ip_forward                 = 1
    EOF
        
    sudo sysctl --system
    

k1.png

  • Containerd config 수정

    mkdir -p /etc/containerd
    containerd config default | sudo tee /etc/containerd/config.toml
    sed  -i 's/ SystemdCgroup = false/ SystemdCgroup = true/' /etc/containerd/config.toml
    sudo systemctl restart containerd
    
  • Kubernetes 설치에 필요한 패키지를 설치

    sudo apt-get update
    sudo apt-get install -y apt-transport-https ca-certificates curl
    

스크린샷, 2022-10-31 18-37-09.png

  • Kubernetes의 GPG키를 추가
    curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
    
  • Apt 저장소에 Kubernetes 패키지 추가
    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
    

스크린샷, 2022-10-31 18-39-03.png

  • Kubeadm, Kubelet, Kubectl 설치

    sudo apt-get update
    sudo apt-get install -y kubelet kubeadm kubectl
    

    스크린샷, 2022-10-31 18-44-27.png

  • Kubeadm, Kubelet, Kubectl의 버전 고정

    sudo apt-mark hold kubelet kubeadm kubectl
    

    스크린샷, 2022-10-31 18-45-21.png

  • Contrainerd 서비스 재설정 & 재시작

    sudo rm /etc/containerd/config.toml
    sudo systemctl restart containerd.service
    

스크린샷, 2022-10-31 19-04-43.png

  • Kubectl 명령어 자동완성 적용

    kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl
    

    스크린샷, 2022-10-31 19-05-35.png

  • Kubernetes Cluster 생성

    sudo kubeadm init --pod-network-cidr "10.244.0.0/16"
    

    스크린샷, 2022-10-31 19-13-33.png

  • Kubernetes 환경 세팅

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

    스크린샷, 2022-10-31 19-16-19.png

  • Kubernetes 클러스터 생성 확인

    kubectl get node
    kubectl get all
    

    스크린샷, 2022-10-31 19-18-21.png

  • Kubernetes CNI(Container Network Interfaces) 설치 - Flannel

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    

    스크린샷, 2022-10-31 19-23-18.png

  • Kubernetes 클러스터 상태 및 네트워크 확인

    kubectl get node
    kubectl get all --all-namespaces
    

    스크린샷, 2022-10-31 19-24-03.png

Comment 0

Add a comment