준비

Note

Kubernetes 공식 배포툴인 kubeadm을 이용하여 배포합니다. 모든 바이너리는 제공자(Kubernetes, Docker, NVIDIA, Ceph 등)의 공식 저장소에서 운영체제 패키지를 통해 설치하며, 기타 컴포넌트도 공식 저장소 (Helm)에서 제공하는 순수 버전을 사용합니다.

QKS를 정상적으로 설치하기 위해 다음의 조건을 필요로 합니다.

  • Ansible Managed 노드들은 작업을 수행할 사용자 계정이 존재해야 합니다.

  • Ansible Managed 노드의 사용자는 패스워드 없이 sudo 명령 사용이 가능해야 합니다.

  • Ansible Control 노드는 모든 Ansible Managed 노드의 사용자로 SSH 접근이 가능해야 합니다.

Ansible Managed 노드에서의 준비

  • 사용자 생성

sudo adduser quantum
  • sudo 허용

echo "quantum ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/quantum

Ansible Control 노드에서의 준비

  • SSH 허용

ssh-copy-id -i qks.pub quantum@<IP-ADDR-OF-MANAGED-NODE>

ssh-copy-id 명령을 수행하기 위해서는 Ansible Managed 노드는 패스워드를 통한 SSH 접근이 가능해야 합니다. 위의 명령이 실패할 경우, qks.pub 파일을 모든 Ansible Managed 노드로 복사하고
사용자로 아래의 명령을 수행합니다.

cat qks.pub >> ~/.ssh/authorized_keys
  • 배포 데이터 압축 해제

tar xvzf qks.k8s.tar.gz
  • 배포 환경 생성 (deployer)

data/deployer/qks.k8s.deployer-<OS>.sh

고객사의 Ansible Control 노드에 Python 및 Ansible 실행을 위한 환경을 생성합니다.

노드의 환경과 격리된 Python Virtual Environment 하위의 Ansible 실행 환경이 생성됩니다.

  • 배포 환경 활성화 및 확인 (deployer)

source data/deployer/deployer/bin/activate
ansible --version

ansible 명령을 사용하려면, 처음 로그인 후 Python Virtual Environment 환경을 활성화 해야합니다.