Cloud Computing & MSA

AWS EC2 위에 okd 설치하기 (Openshift 공개버전)

1103동103호·2023년 8월 21일·조회 1,832

본 문서는 아마존 클라우드 EC2 서버에서 OKD 설치 프로그램을 실행해 OKD 클러스터를 생성하는 과정을 설명한다.


1. EC2 서버 한 대 준비

설치 명령을 실행할 작업용 서버는 t3.micro 정도로도 가능하다. 운영체제는 Amazon Linux를 사용하면 된다. 서버를 만들고 SSH로 접속한다. 노트북 같은 개인 PC에서 진행해도 되지만, 이후 AWS API를 통해 여러 EC2 인스턴스가 생성되므로 AWS 자격 증명과 권한은 미리 준비되어 있어야 한다.

주의할 점은 여기서 말하는 t3.micro는 설치 작업을 실행하는 서버의 크기다. 실제 OKD 클러스터를 구성하는 컨트롤 플레인과 워커 노드는 설치 과정에서 별도로 생성되며, 비용이 발생할 수 있다.

2. 키 생성

위 EC2 서버에 접속한 뒤 SSH 키를 만든다. 다음과 같이 하면 된다.

$ ssh-keygen -t ed25519 -N '' -f okd.key

그러면 개인 키 파일과 공개 키(pub) 파일이 쌍으로 생성된다.

3. 키 추가 작업

$ eval "$(ssh-agent -s)"
$ ssh-add okd.key

ssh-add 실행 시 기대되는 결과는 다음과 같다.

Identity added: /home/<you>/<path>/<file_name> (<computer_name>)

이 키는 설치 과정에서 생성되는 노드에 접근할 때 사용된다. 설치가 끝난 뒤 장애 확인이나 노드 접속이 필요할 수 있으므로 개인 키 파일은 삭제하지 말고 안전하게 보관한다.

4. 설치 파일 다운로드

https://github.com/openshift/okd/releases 에서 받을 수 있다. 나는 wget으로 openshift-install-linux-4.13.0-0.okd-2023-08-18-135805.tar.gz 파일을 받았다.

그리고 압축을 푼다. 파일명을 바꾸지 않았다면 실제로 받은 tar.gz 파일명에 맞춰 명령을 실행하면 된다.

$ tar -xvf openshift-install-linux.tar.gz

5. 클러스터 생성

위에서 다운로드하고 압축을 푼 파일을 이용하여 설치를 시작한다.

$ ./openshift-install create cluster --dir /home/ec2-user/okd --log-level=info

/home/ec2-user/okd는 설치하고자 하는 경로다. 각자 취향에 맞게 지정한다. 이 디렉터리 아래에는 설치 설정과 인증 정보가 생성되므로, 설치 후에도 보관하는 것이 좋다.

중간에 pull secret을 넣으라고 나오는데 나는 그냥 {"auths":{"fake":{"auth":"aWQ6cGFzcwo="}}} 를 입력하여 넘어갔다.

이제 시간이 많이 걸린다. 상당히 큰 스펙을 가진 여러 EC2 서버가 계속 생성된다. 진행 중 문제가 생기면 지정한 설치 디렉터리의 로그와 설치 프로그램 출력을 먼저 확인한다.

6. 커맨드 라인 유틸리티 설치

https://github.com/okd-project/okd/releases 에서 openshift-client-linux-4.13.0-0.okd-2023-08-18-135805.tar.gz 를 다운로드한다. wget으로 받아도 된다.

압축을 풀면 oc와 kubectl이 나온다. 적당히 PATH가 걸린 곳에 넣어주면 된다. 예를 들면 /usr/bin 같은 위치를 사용할 수 있다.

7. KUBECONFIG 설정

$ export KUBECONFIG=/home/ec2-user/okd/auth/kubeconfig

아까 설치 위치로 지정한 /home/ec2-user/okd 하위의 auth/kubeconfig 파일을 KUBECONFIG 환경 변수로 지정한다.

이렇게 하면 커맨드라인에서 OKD 쿠버네티스를 사용할 수 있다. 예를 들어 kubectl get node, kubectl get pods 같은 명령을 실행할 수 있다.

간단히 확인하려면 먼저 노드 상태를 조회해 본다. 모든 노드가 Ready 상태가 되면 기본적인 클러스터 생성은 완료된 것이다. oc를 설치했다면 oc get clusterversion 같은 명령으로 클러스터 버전 상태도 확인할 수 있다.

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.