본문 바로가기
Kubernetes/Install

(2) Kubespray 설치

by lumination 2023. 11. 25.

cp -R ~/kubespray/inventory/sample ~/kubespray/inventory/mycluster

 

mycluster/inventory.ini 파일 수정

 

control-plane은 node1이 담당

etcd는 node1, node2, node3에 설치

worker-node는 node2, node3에 설치

# ## Configure 'ip' variable to bind kubernetes services on a
# ## different ip than the default iface
# ## We should set etcd_member_name for etcd cluster. The node that is not a etcd member do not need to set the value, or can set the empty string value.
[all]
node1 ansible_host=192.168.50.61 ip=192.168.50.61
node2 ansible_host=192.168.50.62 ip=192.168.50.62
node3 ansible_host=192.168.50.63 ip=192.168.50.63

# ## configure a bastion host if your nodes are not directly reachable
# [bastion]
# bastion ansible_host=x.x.x.x ansible_user=some_user

[kube_control_plane]
node1

[etcd]
node1
node2
node3

[kube_node]
node2
node3

[calico_rr]

[k8s_cluster:children]
kube_control_plane
kube_node
calico_rr

 

~/kubespray/inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml

파일 수정

## Change this to use another Kubernetes version, e.g. a current beta release
kube_version: v1.24.6

# configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface
# must be set to true for MetalLB, kube-vip(ARP enabled) to work
kube_proxy_strict_arp: true

# audit log for kubernetes
kubernetes_audit: true

 

설치

ansible-playbook -i inventory/mycluster/inventory.ini --become --become-user=root cluster.yml

 

리셋

ansible-playbook -i inventory/mycluster/inventory.ini --become --become-user=root reset.yml

 

설치 완료 로그 10분 걸렸다.

 

로컬에서 kubectl 사용하려면

cat /root/.kube/config 내용을 카피

로컬 계정에 ~/.kube/config 에 작성한다.

그러면 로컬 계정에서도 사용 가능하다.

 

설치 완료된 모습이다.

node1:~/kubespray/inventory/mycluster$ kubectl get nodes
NAME    STATUS   ROLES           AGE   VERSION
node1   Ready    control-plane   13m   v1.24.6
node2   Ready    <none>          12m   v1.24.6
node3   Ready    <none>          12m   v1.24.6

node1:~/kubespray/inventory/mycluster$ kubectl get nodes -o wide
NAME    STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
node1   Ready    control-plane   13m   v1.24.6   192.168.50.61   <none>        Ubuntu 20.04.6 LTS   5.4.0-166-generic   containerd://1.6.8
node2   Ready    <none>          12m   v1.24.6   192.168.50.62   <none>        Ubuntu 20.04.6 LTS   5.4.0-166-generic   containerd://1.6.8
node3   Ready    <none>          12m   v1.24.6   192.168.50.63   <none>        Ubuntu 20.04.6 LTS   5.4.0-162-generic   containerd://1.6.8

 

'Kubernetes > Install' 카테고리의 다른 글

클러스터 설치 - kubeadm ver  (0) 2023.12.12
(1) 쿠버네티스 설치 - kubespray  (1) 2023.11.24
(0) ubuntu 20.04  (0) 2023.09.08