control-plane-1 에서 배포를 진행하겠다.
OS : Ubuntu 24.04
control-plane-1 : 10.0.0.1
control-plane-2 : 10.0.0.2
node-1 : 10.0.0.11
node-2 : 10.0.0.12
node-3 : 10.0.0.13
sudo su -
vi /etc/ssh/sshd_config
# yes로 수정 #
PermitRootLogin yes
sudo su -
ssh-keygen -t rsa -b 2048
ssh-copy-id root@10.0.0.1
ssh-copy-id root@10.0.0.2
ssh-copy-id root@10.0.0.11
ssh-copy-id root@10.0.0.12
ssh-copy-id root@10.0.0.13
sudo su -
apt update
apt install python3-pip -y
git clone https://github.com/kubernetes-sigs/kubespray.git
cd kubespary
pip3 install -r requirements.txt
cp -rpf inventory/sample inventory/mycluster
vi inventory/mycluster/inventory.ini
[all]
control-plane-1 ansible_host=10.0.0.1 ip=10.0.0.1
control-plane-2 ansible_host=10.0.0.2 ip=10.0.0.2
node-1 ansible_host=10.0.0.11 ip=10.0.0.11
node-2 ansible_host=10.0.0.12 ip=10.0.0.12
node-3 ansible_host=10.0.0.13 ip=10.0.0.13
[kube_control_plane]
control-plane-1 ansible_host=10.0.0.1 ip=10.0.0.1
control-plane-2 ansible_host=10.0.0.2 ip=10.0.0.2
[etcd]
control-plane-1 ansible_host=10.0.0.1 ip=10.0.0.1
[kube_node]
node-1 ansible_host=10.0.0.11 ip=10.0.0.11
node-2 ansible_host=10.0.0.12 ip=10.0.0.12
node-3 ansible_host=10.0.0.13 ip=10.0.0.13
[calico_rr]
[k8s_cluster:children]
kube_control_plane
kube_node
calico_rr
ansible all -m ping -i inventory/mycluster/inventory.ini
ansible-playbook -i inventory/mycluster/inventory.ini cluster.yml -b --become-user=root
mkdir -p $HOME/.kube
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
echo "export KUBECONFIG=$HOME/.kube/config" >> ~/.bashrc
source ~/.bashrc
kubectl get no