Skip to content

Commit

Permalink
#25 OpenFx fixed Manual
Browse files Browse the repository at this point in the history
  • Loading branch information
Cyy92 committed Sep 7, 2020
1 parent 10d2dde commit 14c9f31
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
12 changes: 8 additions & 4 deletions docs/source/2_setup/2_openfx_setup/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ OpenFx Setup

#### Copy ssh key

Ansible은 ssh 기반으로 마스터 서버가 노드 서버에 소프트웨어를 설치하는 방식이므로 Ansible 기반의 쿠버네티스 클러스터를 구축 시, 마스터 서버에서만 Ansible을 실행한다. Ansible을 활용하여 클러스터 환경에 소프트웨어를 설치 시, 마스터 서버는 ssh를 통해 노드 서버로 접속한다. 따라서 클러스터 구축 자동화를 위해서는 마스터 서버가 별도의 명시적인 인증과정 없이 노드 서버로 접속할 수 있어야한다. 명시적인 인증과정 없이 마스터 서버가 노드 서버로 접속하기 위해서는 모든 노드 서버들이 마스터 서버의 ssh key의 공개키를 가지고 있어야한다. 이를 위해 아래와 같이 마스터 서버에서 ssh key를 생성하고, 생성된 공개키를 노드 서버에 복사하는 작업이 필요하다.
`Ansible` ssh 기반으로 마스터 서버가 노드 서버에 소프트웨어를 설치하는 방식이므로 `Ansible` 기반의 쿠버네티스 클러스터를 구축 시, 마스터 서버에서만 `Ansible` 실행한다. 명시적인 인증과정 없이 마스터 서버가 노드 서버로 접속하기 위해서는 모든 노드 서버들이 마스터 서버의 ssh key의 공개키를 가지고 있어야한다. 이를 위해 아래와 같이 마스터 서버에서 ssh key를 생성하고, 생성된 공개키를 노드 서버에 복사하는 작업이 필요하다.

```bash
$ ssh-keygen -t rsa
Expand Down Expand Up @@ -87,7 +87,7 @@ $ ssh-copy-id -i ~/.ssh/id_rsa.pub root@<Worker Node IPs>

#### Configuration

마스터 서버가 노드 서버로 ssh 접속을 하기 위해서는 해당 서버의 ip를 알아야한다. kubespray에서는 아래 주소와 같이 클러스터 환경에 대한 설정값을 `hosts.ini` 파일에 정의하고 있다.
마스터 서버가 노드 서버로 ssh 접속을 하기 위해서는 해당 서버의 ip를 알아야한다. `kubespray`에서는 아래 주소와 같이 클러스터 환경에 대한 설정값을 `hosts.ini` 파일에 정의하고 있다.

```bash
$ sudo vi inventory/mycluster/hosts.ini
Expand Down Expand Up @@ -172,7 +172,9 @@ kube-system nginx-proxy-node2 1/1 Running 1

### Minikube

`미니쿠베`는 쿠버네티스처럼 클러스터를 구성하지 않고 노트북과 같은 단일 머신에서 쿠버네티스 환경을 만들어준다. 미니쿠베는 단일 머신에서 작동하므로 클러스터 환경 설정 및 복잡한 분산 컴퓨팅 메커니즘이 없어 설치가 간편하고 디버깅이 쉽다. 이러한 이유로 미니쿠베는 테스트 및 디버깅 용으로 많이 활용되고 있다. 아래는 미니쿠베 설치 방법과 미니쿠베 환경 위에서 쿠버네티스를 사용할 수 있게 해주는 명령 줄 인터페이스인 `kubectl`의 설치 방법을 가이드한다.
`미니쿠베`는 쿠버네티스처럼 클러스터를 구성하지 않고 노트북과 같은 단일 머신에서 쿠버네티스 환경을 만들어준다. 미니쿠베는 단일 머신에서 작동하므로 클러스터 환경 설정 및 복잡한 분산 컴퓨팅 메커니즘이 없어 설치가 간편하고 디버깅이 쉽다. 이러한 이유로 미니쿠베는 테스트 및 디버깅 용으로 많이 활용되고 있다.

아래는 미니쿠베 설치 방법과 미니쿠베 환경 위에서 쿠버네티스를 사용할 수 있게 해주는 명령 줄 인터페이스인 `kubectl`의 설치 방법을 가이드한다.



Expand Down Expand Up @@ -204,7 +206,9 @@ kube-system nginx-proxy-node2 1/1 Running 1

#### Start Minikube

미니쿠베는 기본적으로 [하이퍼바이저(hypervisor)](<https://kubernetes.io/ko/docs/setup/learning-environment/minikube/#vm-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%A7%80%EC%A0%95%ED%95%98%EA%B8%B0>)를 지원한다. 윈도우 환경과 같이 리눅스 시스템이 아닌 경우 하이퍼바이저를 먼저 설치한다. 하이퍼바이저란 virtualbox, vmware 같이 물리적 호스트에서 다수의 가상머신을 실행할 수 있도록 하여 컴퓨팅 자원을 효과적으로 사용할 수 있게 하는 도구이다. 하이퍼바이저를 사용하는 경우 미니쿠베의 `--driver=<driver_name>` 옵션을 통해서 하이퍼바이저 기반의 미니쿠베 실행이 가능하다. 뿐만 아니라 쿠버네티스 버전을 명시하여 미니쿠베를 실행할 수 있는데 현재 OpenFx는 쿠버네티스 버전 `1.15.2`까지 지원하기 때문에 다음과 같이 버전을 지정하여 미니쿠베를 시작해야 한다.
미니쿠베는 기본적으로 [하이퍼바이저(hypervisor)](<https://kubernetes.io/ko/docs/setup/learning-environment/minikube/#vm-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%A7%80%EC%A0%95%ED%95%98%EA%B8%B0>)를 지원한다. 윈도우 환경과 같이 리눅스 시스템이 아닌 경우 하이퍼바이저를 먼저 설치한다. 하이퍼바이저란 virtualbox, vmware 같이 물리적 호스트에서 다수의 가상머신을 실행할 수 있도록 하여 컴퓨팅 자원을 효과적으로 사용할 수 있게 하는 도구이다.

하이퍼바이저를 사용하는 경우 미니쿠베의 `--driver=<driver_name>` 옵션을 통해서 하이퍼바이저 기반의 미니쿠베 실행이 가능하다. 뿐만 아니라 쿠버네티스 버전을 명시하여 미니쿠베를 실행할 수 있는데 현재 OpenFx는 쿠버네티스 버전 `1.15.2`까지 지원하기 때문에 다음과 같이 버전을 지정하여 미니쿠베를 시작해야 한다.

```bash
$ echo export CHANGE_MINIKUBE_NONE_USER=true >> ~/.bashrc
Expand Down
3 changes: 3 additions & 0 deletions docs/source/5_components/7_gpu/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@ $ sudo vim /etc/docker/daemon.json
}
}
}

$ sudo systemctl daemon-reload
$ sudo service docker restart
```


Expand Down

0 comments on commit 14c9f31

Please sign in to comment.