TheKoguryo's 기술 블로그

 Version 2023.11.20

1.3.2 로컬 환경에서 클러스터 연결하기

OCI CLI 설치 및 환경 구성

OCI CLI 설치

공식 문서 또는 아래 문서를 참고하여 OCI OCI를 설치합니다.

Oracle Linux 기준 예시

  1. 설치

    bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
    
  2. 설치 확인

    oci --version
    
OCI CLI Config File설정

아래 문서를 참고하여 Config File을 설정합니다.

연결 확인
  1. OCI CLI를 설정한 로컬환경에서 oci os ns get을 실행하여 연결 확인

    $ oci os ns get
    {
      "data": "cnxxxxxxxxgq"  
    }
    

kubectl CLI 설치 및 환경 구성

kubectl CLI 설치

공식 문서를 참고하여 kubectl OCI를 설치합니다.

Linux 기준 예시

  1. 설치

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    
    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
    
kubeconfig 파일 생성하기
  1. 생성한 OKE 클러스터 상세 페이지에서 Access Cluster를 클릭합니다.

  2. Local Access 를 클릭합니다.

    image-20230516174631592

  3. PUBLIC_ENDPOINT

    Kubernetes API 접근을 Public IP로 접근할 때 사용합니다. OKE 클러스터 생성시 Kubernetes API에 Public IP를 부여한 경우에 사용 가능한 방법입니다.

    Cloud Shell에서 사용한 것과 동일합니다.

  4. PRIVATE_ENDPOINT

    Kubernetes API 접근을 Private IP로 접근할 때 사용합니다.. PRIVATE_ENDPOINT, 즉 Private IP로 접근을 해야 하므로, bastion host 등 내부 IP로 접근이 가능한 위치에서 수행할 때 사용합니다.

    • bastion host는 외부에서 SSH로 접근 가능하게 22 포트 오픈이 필요하며, 내부적으로는 OKE 클러스터의 Kubernetes API 및 Worker Nodes 들에 접근이 가능해야 합니다.
    • kubeconfig 파일 생성 및 클러스터에 접속 확인
    [opc@bastion-host ~]$ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.ap-chuncheon-1.aaaaaaaaq4ltd357todnpr2xqi5lu2orcp26jrdt4lz573ytdc4vz7x3dqla --file $HOME/.kube/config --region ap-chuncheon-1 --token-version 2.0.0  --kube-endpoint PRIVATE_ENDPOINT
    New config written to the Kubeconfig file /home/opc/.kube/config
    [opc@bastion-host ~]$ kubectl cluster-info
    Kubernetes control plane is running at https://10.0.0.4:6443
    CoreDNS is running at https://10.0.0.4:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
    
    To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
    [opc@bastion-host ~]$
    


이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.

Last updated on 7 Nov 2021