준비
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 환경을 활성화 해야합니다.