컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장 가능한 오픈소스 플랫폼이다.
단일 시스템에서 다수의 컨테이너를 구동하는 방식으로 쉽게 구성 가능하다.
구글에 의해 개발된 컨테이너 오케스트레이션 도구이다.
기본적으로 도커 플랫폼을 사용한다.
k8s 설치는 두 가지 방법으로 진행할 수 있다.
이 글에서는 kubespray 방법으로 설치를 진행할 것이다.
다수의 시스템과 애플리케이션을 쉽게 설정하고 유지관리 할 수 있는 방식을 의미한다.
도커 자체적으로 ‘도커 스웜’을 통해서 오케이스트레이션을 지원하고 있다.
도커 스웜은 도커와 유사한 동작 방식으로 쉬운 사용법을 제공하고 있으나 기능이 비교적 단순하고 세세한 조정이 어려운 단점이 존재한다.
C드라이브에 k8s 폴더 생성 후 vagrantfile 작성
vagrant-hostmanger, vagrant-disksize 설치 후 확인
vagrant plugin install vagrant-hostmanager
vagrant plugin install vagrant-disksize
vagrant plugin list
vagrant box add ubuntu/bionic64
vagrant box list
up 명령어 사용해서 vm 설치
vagrant up
vagrant ssh kube-master1
ssh-keygen
localhost부터 node3까지 key 복사 진행
ssh-copy-id localhost
ssh-copy-id kube-node1
ssh-copy-id kube-node2
ssh-copy-id kube-node3
sudo apt update
sudo apt install -y python3 python3-pip git
git clone --single-branch --branch v2.14.2 https://github.com/kubernetes-sigs/kubespray.git
생성 된 kubespray 디렉토리로 이동
cp -rfp inventory/sample inventory/mycluster
:~%d로 내용삭제 후 인벤토리 작성
vi inventory/mycluster/inventory.ini
vi inventory/mycluster/group_vars/k8s-cluster/addons.yml
metrics_server_enabled: true
ingress_nginx_enabled: true
ansible all -i inventory/mycluster/inventory.ini -m ping
엔서블을 통한 쿠버네티스 설치 시작
ansible-playbook -i inventory/mycluster/inventory.ini cluster.yml --become
mkdir ~/.kube
sudo cp ~root/.kube/config ~/.kube
sudo chown vagrant:vagrant -R ~/.kube
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl
exec bash
kubectl get nodes
kubectl cluster-info
정상적으로 k8s설치가 완료됐다.