Skip to main content

Master ROOT user only

Master ROOT user only

  •  sudo kubeadm init --pod-network-cidr=172.16.0.0/16 --apiserver-advertise-address=192.168.0.100
    ...
       kubeadm join 10.0.1.2:6443 --token nnnnnnnnnnn --discovery-token-ca-cert-hash sha256:nnnnnnnnn <-- 잘 복사할것
    ...
  • 예시
      ... ... 
    Your Kubernetes control-plane has initialized successfully!
    
    To start using your cluster, you need to run the following as a regular user:
    
      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
    You should now deploy a pod network to the cluster.
    Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
      https://kubernetes.io/docs/concepts/cluster-administration/addons/
    
    Then you can join any number of worker nodes by running the following on each as root:
    
    
    kubeadm join 192.168.0.100:6443 --token 2bnj8x.t4odyls0snm1bq8b \
        --discovery-token-ca-cert-hash sha256:a51bfb3121d40d300e0eb5399610511852597bfb3a5391db37d535cce339f2f8

20231010 결과 

kubeadm join 192.168.0.130:6443 --token zf4ub4.aa659burc1jlp42u \
        --discovery-token-ca-cert-hash sha256:dfb5baf24d4e8eec7f9e54a8ce5a376688d8a9d5222496fa0eb0e1c845a22eb4


  • 아래와 같이 오류가 날 때 
    hyunsu@3-kubemaster:~$ sudo kubeadm init --pod-network-cidr=172.16.0.0/16 --apiserver-advertise-address=192.168.0.200
    [init] Using Kubernetes version: v1.28.2
    [preflight] Running pre-flight checks
    error execution phase preflight: [preflight] Some fatal errors occurred:
    	[ERROR CRI]: container runtime is not running: output: time="2023-10-04T14:44:26Z" level=fatal msg="validate service connection: CRI v1 runtime API is not implemented for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
    , error: exit status 1
    [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
    To see the stack trace of this error execute with --v=5 or higher
    
    sudo rm /etc/containerd/config.toml
    sudo systemctl restart containerd
    sudo kubeadm init --pod-network-cidr=172.16.0.0/16 --apiserver-advertise-address=192.168.0.100

  • api 서버가 자꾸 죽을 때  : https://jh-labs.tistory.com/476 ,  쿠버네티스 1.24 버전 부터는 설치시 다음과 같은 작업이 추가로 필요합니다.
    # containerd의 기본설정 정의
    sudo mkdir -p /etc/containerd
    sudo containerd config default | sudo tee /etc/containerd/config.toml
    
    # containerd enabled 여부 확인
    systemctl is-enabled containerd 
    
    # disabled일 경우
    systemctl enable containerd
    
    
    # config 수정
    sudo vi /etc/containerd/config.toml
    
    [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
        # SystemdCgroup = false 기본 false로 되어있는 부분을 true로 변경한다.
        SystemdCgroup = true
        
        
    # containerd 재시작
    sudo systemctl restart containerd

    https://no-easy-dev.tistory.com/5


  • Master 일반 유저
    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=$HOME/.kube/config
    export KUBECONFIG=$HOME/.kube/config | tee -a ~/.bashrc
  • Master calico를 사용 일반 유저
    kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
    kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml
    •      잘모르겠다 이부분 
      export kubever=$(kubectl version | base64 | tr -d '\n')
      kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"