-
[Openshift] OCP구축하기(feat. Assisted Installer)Infra/Kubernetes 2023. 8. 12. 20:06
OCP란
회사에서 OCP 관련 업무를 맡게되어서 구축해보았다.
Openshift Contianer Platform의 약자인 OCP는 Kubernetes 기반의 Redhat에서 만든 서비스이다.
kubernetes에 추가적으로 monitoring, logging, CI/CD, Service Mesh 등의 운영에 필요하거나 편리한 tool들이 포함되어있다.
그렇다면 이제 구축해보자!!
Assisted Installer를 이용한 OCP 구축(4.13버전)
이번 포스팅에서는 처음부터 끝까지 구축하기보다는 Openshift에서 제공하는 Assisted Installer를 사용하여 구축해보려고한다.
1. Redhat Hybrid Cloud Console에 접속하자.
=> Red Hat Openshit로 접속한다.
2. Cluster 생성(최소 Node 3개이상 필요)
=> Cluster를 생성해보자. 나는 Local에 설치한 VM fusion을 이용하여 cluster를 구축할 것이다. Cluster name과 Base Domain을 원하는 값으로 작성해주고 CPU를 설정해준다. 나의 경우 M2 MacBook이라 Arm64로 설정해주었다. 나머지는 기본값으로 진행했다(컴퓨터 사양때문에 조금 가볍게 진행하고 싶다면 Single Node Openshift - SNO를 선택하자)
3. Host 추가
=> Operators에서는 기본값으로 진행했고 이제 OCP를 구성할 Host를 찾을 수 있도록 설정해보자.
- ISO image generate
=> Assisted Installer를 사용하는 이유가 아닌가 싶다. Cluster를 구성할 Node들에서 설정해야할 내용들을 알아서 ISO 이미지로 만들어준다. 이를 Generate하기전에 나의경우 Provisioning type을 Minimal image file로 선택해주었고 그다음 내가 사용할 SSH public key만 준비해서 넣어주면된다. 아래의 Generate를 클릭하면 오른쪽 그림과 같이 ISO 이미지를 다운로드 할 수 있게 된다.
4. VM Fusion을 이용한 node 생성
=> Cluster에서 Node로 사용될 가상머신을 만들어주었다. 참고로 Openshift의 node들은 굉장히 고사양이 필요하다. 어지간한 노트북으로는 구축도 안된다...나도 꽤많은 프로세서와 메모리, 하드(400GB)를 넣어주었다. 참고로 해당 클러스터 구축 시, 필요한 최소사양이 있으니 참고하길 바란다.
[주의] 가상머신 생성
=> 참고로 생성을 진행하게되면 위와같은 화면을 보게될텐데. "왜 멈췄지??" 하면서 삭제하고 다시 만드는 삽질은 하지말길 바란다. 대략 2~5분사이를 대기하면 자동으로 만들어진다(ㅠㅠ안되는줄알고 삽질했다..) 이런식으로 3개를 만들어주자!
5. Cluster를 구성할 Node Role 선택
=> Node를 모두 생성하게되면 console에서 자동으로 탐지를 진행한다. 위와같이 목록에 생성한 3개의 node가 보여지면 Role을 선택해준다. Control plane node를 선택했지만 자동으로 Controlplane node + worker node가 되었다. 이후 storage는 Pass했다. 참고로 최소 클러스터 구성조건은 Master, Worker node 각각 3개이상이다. 하지만 하나의 node를 master와 worker로 사용이 가능했다. 따라서 3대만 있어도 구축은 가능하다.
6. Networking 설정
=> API IP와 Ingress IP를 설정해주고 다음으로 넘어가자
7. Cluster Installation
=> 어떤설정으로 cluster가 구축될지 preview를 해주고 install을 진행하면 cluster를 생성하기 시작한다. 이 때부터는 그냥 기다리기만하면된다. 내 기준 1시간 정도 걸렸던 것 같다.
설치완료 & Web Console 접속
=> 그렇다면 이제 Web Console에 접속해보자 계정의 경우 아래에 알려주고 있다. Web Console에 접근이 되지 않는다면 DNS 설정이 되지 않아서인데 아래에 친절하게 접근되지 않을 경우 조치방법을 알려주고 있다. "/etc/hosts" 파일 또는 "/etc/resolves.conf" 파일에 안내하는 내용을 붙여넣어주면 된다. 위와같이 드디어 Web Console에 접근할 수 있게된다!!
kubectl 또는 OC 사용
oc login
=> 해당 명령을 진행하면 관리자 계정에 대한 token 정보나 login 방법, API 사용예시 등을 알려준다.
=> 추가적으로 kubectl을 사용하기위해서는 kubeconfig를 이용해야한다. kubectl은 API요청을 편리하게 사용하는 것과 같다고 볼 수 있으며 그때 사용하는 인증정보가 kubeconfig에 담겨있기 때문에 해당 파일관리는 중요하다.
kubectl 또는 oc 명령어를 통해 다음과 같이 Pod가 조회되지 않는다면 .kube/config파일을 다운로드한 kubeconfig 파일로 대체해보자. 우리가 보통 구축해서 사용하던 kubernetes와 다르게 방대한 양의 Pod가 돌고 있는 것을 볼 수 있었다.
[ 참고 ] OCP Command-line interface tool
=> OCP를 관리할 때 사용할 tool은 위의 경로에서 설치하면 된다.
[ 자동완성 ]
# zsh 사용시 oc completion zsh > oc # bash 사용시 oc completion bash > oc # 이후 .zshrc 또는 .bashrc 파일 하단에 아래내용 입력 후 저장 => source {경로}/oc 추가 # source .zshrc 또는 source .bashrc 실행
반응형'Infra > Kubernetes' 카테고리의 다른 글
[Kubernetes] Kubestronaut 후기 (4) 2024.09.27 [Kubernetes] Pod 관련 Host Network 옵션과 동작원리 (0) 2023.05.04 [k8s] Probe 란? (0) 2021.08.17 [k8s] Volume (0) 2021.07.13 댓글