아래 예제는 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 설치
sudo apt-get install git
git clone -b v2.20.0 https://github.com/kubernetes-sigs/kubespray.git
cd kubespray
#요구사항 설치
pip install -r requirements.txt
cp -rfp inventory/sample inventory/mycluster
declare -a IPS=({master-server-ip} {node-server-ip})
CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
host 정보 세팅(master, node가 1대씩이라 kube_control_plane과 kube_node가 각각 1개씩 밖에 없다)
nano inventory/mycluster/hosts.yaml
kubernetes 설치
#sshpass 설치
sudo apt-get install sshpass
ansible 옵션
-k : ansible 실행 시 ansible 호스트의 비밀번호를 물어볼 수 있도록 하는 옵션
-K : ansible 실행 시 호스트 서버의 root 권한을 얻기 위한 옵션(일반 계정 사용 시 루트권한으로 수행)
#설치
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml -kK
sudo mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
'Kubernetes' 카테고리의 다른 글
kubectl 플러그인 사용하기-2(kubectx, kubens) (0) | 2024.07.16 |
---|---|
kubectl 플러그인 사용하기-1(kube-ps1, bash-completion) (0) | 2024.07.14 |
kubernetes pod 기동 시 오류(networkPlugin cni failed to teardown pod) (0) | 2023.08.16 |
Command probe 적용하기 (0) | 2023.05.31 |
Pod Lifecycle(readiness,liveness Probe) (0) | 2023.05.30 |