728x90
암호 없이 ssh 로그인 설정
ssh 키 생성 및 복사
- ssh 키 생성
vagrant@kube-master1:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/vagrant/.ssh/id_rsa.
Your public key has been saved in /home/vagrant/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:csgTKKowCqnYLPCzPPlZKMumIoe5RgJBXEMKep2uO9k vagrant@kube-master1
The key's randomart image is:
+---[RSA 2048]----+
|+.o+ |
|+....o |
|.oo + . |
|.+ o . o |
|O . = S |
|X* . . + |
|OoB+. . |
|==B*Eo |
|*=*+o |
+----[SHA256]-----+
- 각 노드들에 ssh 키 복사
vagrant@kube-master1:~$ ssh-copy-id vagrant@localhost
vagrant@kube-master1:~$ ssh-copy-id vagrant@kube-node1
vagrant@kube-master1:~$ ssh-copy-id vagrant@kube-node2
vagrant@kube-master1:~$ ssh-copy-id vagrant@kube-node3
- 암호 없이 ssh 로그인 확인
vagrant@kube-master1:~$ ssh kube-node1
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-187-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Mon Jun 20 05:43:35 UTC 2022
System load: 0.0 Processes: 99
Usage of /: 3.4% of 38.71GB Users logged in: 0
Memory usage: 4% IP address for enp0s3: 10.0.2.15
Swap usage: 0% IP address for enp0s8: 192.168.56.21
0 updates can be applied immediately.
New release '20.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
==> 모든 노드에서 스냅샷 생성: 1
쿠버네티스 설치
python3, python3-pip, git 설치
vagrant@kube-master1:~$ sudo apt update
vagrant@kube-master1:~$ sudo apt install -y python3 python3-pip git
kubespray 배포
- kubespray git repository 클론
vagrant@kube-master1:~$ git clone --single-branch --branch v2.14.2 https://github.com/kubernetes-sigs/kubespray.git
vagrant@kube-master1:~$ ls
kubespray
- requirements.txt 파일에서 의존성 확인 및 설치
vagrant@kube-master1:~$ cd kubespray/
vagrant@kube-master1:~/kubespray$ sudo pip3 install -r requirements.txt
인벤토리 구성
- 인벤토리 준비
vagrant@kube-master1:~/kubespray$ cp -rfp inventory/sample inventory/mycluster
- 인벤토리 수정
vagrant@kube-master1:~/kubespray$ vi inventory/mycluster/inventory.ini
# :% d 명령 실행으로 파일 내용 모두 지우기
- 수정 내용
[all]
kube-master1 ansible_host=192.168.56.11 ip=192.168.56.11 ansible_connection=local
kube-node1 ansible_host=192.168.56.21 ip=192.168.56.21
kube-node2 ansible_host=192.168.56.22 ip=192.168.56.22
kube-node3 ansible_host=192.168.56.23 ip=192.168.56.23
[all:vars]
ansible_python_interpreter=/usr/bin/python3
[kube-master]
kube-master1
[etcd]
kube-master1
[kube-node]
kube-node1
kube-node2
kube-node3
[calico-rr]
[k8s-cluster:children]
kube-master
kube-node
calico-rr
- 파라미터 확인 및 변경 (false -> true 변경)
vagrant@kube-master1:~/kubespray$ vi inventory/mycluster/group_vars/k8s-cluster/addons.yml
metrics_server_enabled: true
ingress_nginx_enabled: true
앤서블 실행
- 앤서블 통신 확인
- 각 호스트 별로 앤서블 통신이 가능한지 확인하고 success가 뜨면 쿠버네티스 설치 준비 완료
vagrant@kube-master1:~/kubespray$ ansible all -i inventory/mycluster/inventory.ini -m ping
- 플레이북 실행
- 앤서블을 통한 쿠버네티스 설치 시작 (약 20분 소요)
ansible-playbook -i inventory/mycluster/inventory.ini cluster.yml --become
- 설치 완료
- 자격 증명 가져오기
vagrant@kube-master1:~/kubespray$ mkdir ~/.kube
vagrant@kube-master1:~/kubespray$ sudo cp ~root/.kube/config ~/.kube
vagrant@kube-master1:~/kubespray$ sudo chown vagrant:vagrant -R ~/.kube
kubectl 실행
- kubectl 명령 자동 완성
vagrant@kube-master1:~/kubespray$ kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl
vagrant@kube-master1:~/kubespray$ exec bash
- Kubernetes 클러스터 확인
vagrant@kube-master1:~$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
kube-master1 Ready master 27m v1.18.10
kube-node1 Ready <none> 26m v1.18.10
kube-node2 Ready <none> 26m v1.18.10
kube-node3 Ready <none> 27m v1.18.10
vagrant@kube-master1:~$ kubectl cluster-info
Kubernetes master is running at https://192.168.56.11:6443
==> 모든 노드에서 스냅샷 생성: kubespray
728x90
'쿠버네티스 교육 > 강의 내용 정리' 카테고리의 다른 글
220617_5_도커_Docker Compose 설치 (0) | 2022.06.20 |
---|---|
220620_4_k8s_kubeadm을 이용한 쿠버네티스 클러스터 구성 (0) | 2022.06.20 |
220620_1_k8s_쿠버네티스란 (0) | 2022.06.20 |
220620_2_k8s_vagrant를 이용한 vm 준비 (0) | 2022.06.20 |
220617_4_도커_Docker Compose란 (0) | 2022.06.17 |