이전 포스팅에서 노드 재부팅후 발생한 문제가 있었다.

 

그 뒤로 노드들의 STATUS 상태가 전부 NotReady 로 되었는데, 검색을 해보았다.

 

다른 원인으로는 kubectl get nodes -n kube-system -o wide 확인 시에 coredns 서비스가 죽어서 그런경우도 있다고하나,

나의 경우에서는 다 정상적으로 실행중

 

coredns 가 네트워크의 문제니까, 다른 네트워크 문제는 없을까 생각을 해보니,

 

항상 재부팅하면 network 인터페이스가 직접 안올라오더라.

 

생각해본 원인의 시나리오는 

네트워크가 Centos8 Stream 에서 자동으로 안올라오기 때문에

네트워크가 비활성인 상태에서 각 노드들이 kubectl 서비스가 먼저 올라갔을 것이고, 

그래서 이런 것 같다. 라는 생각이 들었다

 

각 노드들에서 kubectl 서비스를 재시작 해주기로 했다.

물론 그 전에 각 노드에 인터페이스를 active 상태로 올려주었다.

[결과] - 각 노드들에서 sudo systemctl restart kubectl 을 실행

해결이 되었다.

상황은

각 노드를 전부 껐다가 켰더니, 아래 에러를 만났다.

껐다 킨 것 외에는 손댄것이 없었다.

인터넷에 검색하다보니, root 로 아래 명령을 실행해주라고 함

export KUBECONFIG=/etc/kubenetes/admin.conf

kubectl get nodes 명령어가 이제 작동한다.

웹사이트로 치면, 로그인을 안한채로 명령어를 친격이라 저런 에러가 발생한 것 같다.

 

그런데, 전부 STATUS 가 NotReady 상태이다. 

이건 또 따로 정리

'RESOURCE(관심사) > Kubernetes' 카테고리의 다른 글

[Error] Status NotReady  (0) 2023.09.18
[kubernetes] 환경 구성  (0) 2023.09.18
사용 os : centos8 stream
환경 : host 3 개 (각각 Master01 , Worker01, Worker02)
마스터 노드가 관리노드이고, 워커노드가 실행노드
워커노드를 마스터노드에 참여시키는 방식으로 늘리고 줄이고하며, 마스터노드도 이중화 구성이 가능

 

[sudo 설정] - 공통
echo "k8s ALL=(root) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/k8s
sudo chmod 0440 /etc/sudoers.d/k8s
 
[방화벽 해제 & selinux 해제 ] - 공통
sudo systemctl stop firewalld && sudo systemctl disable firewalld
sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
 
[swap 해제] - 공통
sudo swapoff -a
sudo sed -i -e '/swap/d' /etc/fstab
 
[dns 설정] - 공통
echo "172.12.2.100 master" >> /etc/hosts
echo "172.12.2.101 worker1" >> /etc/hosts
echo "172.12.2.102 worker2" >> /etc/hosts
 
 
[cri-o 설치] - 공통
 
export OS=CentOS_8_Stream
export VERSION=1.28
 
yum install cri-o
 
[kubernetes 패키지 저장소]
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
enabled=1
gpgcheck=1
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF
 
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
 
[cri-o 설치]
systemctl daemon-reload
systemctl enable crio --now
 
modprobe overlay
modprobe br_netfilter
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
 
cat <<EOF | sudo tee /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
 
sysctl --system
 
cat <<EOF | sudo tee /etc/crio/crio.conf.d/02-cgroup-manager.conf
[crio.runtime]
conmon_cgroup = "pod"
cgroup_manager = "cgroupfs"
EOF
 
 
[마스터 노드]
kubeam init --pod-network-cidr=172.16.0.0/24
 
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
 
[워커 노드]
kubeadm join 172.12.2.100:6443 --token e3l7f0.t8pftu2jxab61wnn \
        --discovery-token-ca-cert-hash sha256:d2ac4d62c0a39157b763b46707c93a9ad7d05b29c3bf562790348cf7                              deda304f