Skip to content

OKE 구축

Yugyeong edited this page Jul 16, 2023 · 3 revisions

OKE 구축

Quick Create

  • 이름: jujy-cluster-for-k8s
  • 구획: nayoung3150
  • kubernetes version: v1.26.2
  • Kubernetes API endpoint: public endpoint
    • 생성된 Kubernetes 클러스터는 공용 IP주소가 자동 지정되는 공용 서비스넷에서 호스트됨
  • node type: Managed
    • Kubernetes 워커 노드는 테넌시에서 프로비전된 컴퓨트 인스턴스
    • 해당 인스턴스가 사용하는 코어-시간에 대해 요금이 청구
    • worker nodes를 ssh로 접속할 수 있고, 사용자가 관리
  • Kubernetes worker node: private worker
    • 생성된 Kubernetes 워커 노드가 전용 서비스에서 호스트
  • node shape: VM.Standard.E3.Flex
    • OCPU: 1
    • memory 용량: 16GB
  • node image: Oracle Linux8
  • node count: 3
    • worker nodes 개수 지정, 기본 값이 3개
  • advanced options
    • Boot Volume: 부트 볼륨 사이즈 조정, worker nodes에 실행될 컨테이너 이미지가 다운로드되어 애플리케이션 컨테이너 수와 이미지가 큰 경우, 그에 맞게 늘릴 필요가 있음
    • Add a SSH Key: worker node에 ssh로 접근하기 위해 ssh key 등록이 필요

로컬에서 OKE 접근하기

~/.oci 폴더 및 config 파일 생성

mkdir ~/.oci && touch ~/.oci/config

openssl로 private, public key 생성

  • private: oci_api_key.pem
  • public: oci_api_public_key.pem

private key 생성 (op1) encryption O
openssl genrsa -out ~/.oci/oci_api_key.pem -aes128 2048

(op2) encryption X
openssl genrsa -out ~/.oci/oci_api_key.pem 2048

read 권한 열어주기
chmod go-rwx ~/.oci/oci_api_key.pem

public key 생성
openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem

public key 값 확인 (config에 추가할 정보)
cat ~/.oci/oci_api_key_public.pem

(optional) fingerprint 확인
openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c

~/.kube/config에 등록

⇒ 콘솔에서 OKE 클러스터 클릭 → [ 클러스터에 액세스 ] 클릭 후 create-kubeconfig 명령 실행

oci ce cluster create-kubeconfig --cluster-id <cluster_id> --file $HOME/.kube/config --region --token-version 2.0.0 --kube-endpoint PUBLIC_ENDPOINT

클러스터 접속 확인 !

kubectl cluster-info kubectl get nodes

Reference

https://docs.oracle.com/en-us/iaas/Content/API/Concepts/apisigningkey.htm#two

Cloudshell로 OKE 접근하기

클러스터에 액세스

VCN-Native 공용 끝점을 통해 클러스터에 대한 kubeconfig에 액세스하기 위해 다음 명령 실행

oci ce cluster create-kubeconfig --cluster-id <cluster_id> --file $HOME/.kube/config --region --token-version 2.0.0 --kube-endpoint PUBLIC_ENDPOINT