# 준비 :::{note} Kubernetes 공식 배포툴인 kubeadm을 이용하여 배포합니다. 모든 바이너리는 제공자(Kubernetes, Docker, NVIDIA, Ceph 등)의 공식 저장소에서 운영체제 패키지를 통해 설치하며, 기타 컴포넌트도 공식 저장소 (Helm)에서 제공하는 순수 버전을 사용합니다. ::: QKS를 정상적으로 설치하기 위해 다음의 조건을 필요로 합니다. - Ansible Managed 노드들은 작업을 수행할 `사용자` 계정이 존재해야 합니다. - Ansible Managed 노드의 `사용자`는 패스워드 없이 sudo 명령 사용이 가능해야 합니다. - Ansible Control 노드는 모든 Ansible Managed 노드의 `사용자`로 SSH 접근이 가능해야 합니다. ### Ansible Managed 노드에서의 준비 - 사용자 생성 ```bash sudo adduser quantum ``` - sudo 허용 ```bash echo "quantum ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/quantum ``` ### Ansible Control 노드에서의 준비 - SSH 허용 ```bash ssh-copy-id -i qks.pub quantum@ ``` > ssh-copy-id 명령을 수행하기 위해서는 Ansible Managed 노드는 패스워드를 통한 SSH 접근이 가능해야 합니다. 위의 명령이 실패할 경우, qks.pub 파일을 모든 Ansible Managed 노드로 복사하고 `사용자`로 아래의 명령을 수행합니다. > >```bash >cat qks.pub >> ~/.ssh/authorized_keys >``` - 배포 데이터 압축 해제 ```bash tar xvzf qks.k8s.tar.gz ``` - 배포 환경 생성 (deployer) ```bash data/deployer/qks.k8s.deployer-.sh ``` > 고객사의 Ansible Control 노드에 Python 및 Ansible 실행을 위한 환경을 생성합니다. > 노드의 환경과 격리된 Python Virtual Environment 하위의 Ansible 실행 환경이 생성됩니다. - 배포 환경 활성화 및 확인 (deployer) ```bash source data/deployer/deployer/bin/activate ansible --version ``` > ansible 명령을 사용하려면, 처음 로그인 후 Python Virtual Environment 환경을 활성화 해야합니다.