728x90

Kubernetes 20

crio container root 경로 수정 방법

container root 저장 경로를 변경하는 방법은 간단하다.최초 kubernetes를 설치할 때 /etc/containers/storage.conf 파일graphroot = "/var/lib/containers/storage" -> 해당 경로를 바꾸면 된다. 하지만 이미 kubernetes가 구축된 상태에서 경로를 변경하기 위해선 사전 작업이 필요하다. 1. 노드에 있는 모든 pod들 제거##master node#node drainkubectl drain node1 --force --ignore-daemonsets --delete-local-data#daemonset 0개로 수정kubectl patch daemonset kube-flannel-ds -p '{"spec": {"template": {"..

Kubernetes/crio 2025.03.28

DNSConfigForming

kubernetes 설치 시 workernode에 DNS 서버를 4개 구성하면 etcd pod에서DNSConfigForming이라는 warn이 발생한다.Warning DNSConfigForming 11s (x3 over 53s) kubelet Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 172.30.32.1 172.30.32.2 172.30.32.3   원인kubernetes etcd는 cat /etc/resolv.conf 여기에 있는 namserver를 참고하는데 3개까지만 사용이 가능하다.무시해도 되지만 4번째 nameserver가 중요한 역할은 한다면4번째까..

Velero with NFS/local as a backup storage

velero는 kubernetes 리소스를 백업 및 복원하는 오픈소스이다. 보통 s3나 minio 등을 사용하는데 NFS, local 경로도 사용이 가능하다. 찾아보니 velero 공식사이트에선 local이나 NAS를 사용하는 기능을 지원하지 않는 것 같지만git 사이트에서 해당 기능을 쓸 수 있게 plugin을 만들어놨다. 필자는 worker node에 NFS를 mount 하였고 mount 된 경로에 backup 및 restore를 할 수 있도록 만들어봤다. 사전 준비 작업- worker node NFS mount- git, make, go, docker 사전 설치 Velero 설치 curl -LO https://github.com/vmware-tanzu/velero/releases/download/..

kubectl 플러그인 사용하기-1(kube-ps1, bash-completion)

1. kube-ps1(kubernetes context, namespace 쉘 프롬프트에서 보여줌)#설치방법git clone https://github.com/jonmosco/kube-ps1.git#.bashrc 수정echo 'source "{download_path}/kube-ps1.sh" PS1='\''[\u@\h \W $(kube_ps1)]\$ '\' 'KUBE_PS1_SYMBOL_ENABLE=false KUBE_PS1_SYMBOL_COLOR=null KUBE_PS1_CTX_COLOR=red KUBE_PS1_NS_COLOR=greenfunction get_cluster_short() { echo "$1" | cut -d / -f2 } KUBE_PS1_CLUSTER_FUNCTION=get_clu..

Kubernetes 2024.07.14

Kubernetes 자동 설치(kubespray 활용)

전제 조건 masternode 1대 (hostname : masternode) workernode 2대 (hostname : workernode-1 , workernode-2) 사전 작업(모든 node master, worker node 전부) #ssh설치 sudo apt-get install openssh-server #계정생성(편하게 작업하기 위해 모든 서버의 계정을 통일 시켰음) sudo adduser kuber sudo usermod -a -G sudo kuber python 설치, key 생성(master node 에서만 진행) #python3 설치 sudo apt install python3-pip #master node에서 key 생성 후 각 workernode로 전달 ssh-keygen s..

docker -> containerd 이관

#Worker Node 진행 kubeadm 1.24 설치 sudo apt-get install -y kubeadm=1.24.xx-00 #Master에서 진행 업그레이드할 워커노드 drain kubectl drain {node-name} --ignore-daemonsets --delete-emptydir-data #Worker Node 진행 kubectl, kubelet 1.24 설치 sudo apt-get install kubectl=1.24.xx-00 kubelet=1.24.xx-00 -y #Worker Node 진행 kubelet 중지, 도커 제거, containerd 설치 sudo systemctl stop kubelet sudo systemctl disable docker.service --now..

kubespray kubernetes 설치하기

아래 예제는 master, node 각 1대씩으로 구성해서 세팅을 진행해 봤다. 간편하게 작업하기 위해 master와 node 서버의 계정을 통일시켜 준다. kuber라는 이름의 계정을 생성 sudo adduser kuber sudo usermod -a -G sudo kuber python, ansible 설치 #python, ansible 설치 sudo apt install python3-pip sudo apt install ansible python3-argcomplete pip install ansible 키 생성 후 복사 ssh-keygen ssh-copy-id kuber@{master-server} ssh-copy-id kuber@{node-server} kubespray 관련 설치 #git 설..

Kubernetes 2023.10.17

kubernetes v1.23 to v1.24(docker-shim -> cri-docker 전환)

kubernetes v1.24부터 docker-shim은 제거된다. docker-shim이 제거 됐을 때 해결할 수 있는 방법이 2가지가 있다. 1. docker-shim -> cri-docker로 전환하는 방법 2. docker -> containerd로 전환하는 방법 이번 포스팅에선 1번 방법에 대해서 알아보도록 하자. #Worker Node 진행 kubeadm 1.24 설치 sudo apt-get install -y kubeadm=1.24.xx-00 #Master에서 진행 해당 노드 drain k drain {node-name} --ignore-daemonsets --delete-emptydir-data #Worker Node 진행 kubectl, kubelet 1.24 설치 sudo apt-get..

kubernetes pod 재시작하는 방법

kubernetes에서 pod를 재시작하는 여러 가지 방법이 있고 상황에 맞게 명령어를 사용하면 된다. 1. scale 명령어 사용 선택한 deployment pod 개수를 0으로 설정 kubectl scale deployment [deployment-name] --replicas=0 선택한 deployment pod 개수를 1로 설정 kubectl scale deployment [deployment-name] --replicas=1 2. rollout restart 선택한 deployment pod들만 전체 재시작 kubectl rollout restart deployment [deployment-name] 3. delete 원하는 pod만 재시작 kubectl delete pod [pod-name]

Kubernetes/pod 2023.08.25
728x90