위에 내가 실제로 VM instance를 Scale-up한 이후의 비용 증가분을 계산한 것은 클라우드 테넌트 계약 조건과 현재 원/달러 환율 따라 30% 정도 차이가 날 것이다. 특히 클라우드 테넌트 계약시, 3년 이상 장기 계약한 경우 많은 할인율이 적용되서 Scale-up에 대한 증가분이 크지 않을 수 있다. 1년 단위로 단기 계약한 테넌트라면, CPU/Memory를 Scale-up할 때 비용 증가분이 위의 계산 결과보다 클 수 있다.
순서로 메뉴를 클릭하고, Quick Start 방식로 몇 가지 기본 설정 값만 정해주면 너무나 간단하게 Kubernetes Cluster가 생성된다.
주의: 동일한 Spec의 Cluster 구축이라고 하더라도 Cluster Infra 상황에 따라 어떤 경우는 5분만에 Cluster가 생성되고, 어떤 경우는 15분이 넘도록 Cluster 생성이 완료되지 않는다. 그래서 마음편하게, Cluster 생성 버튼을 누르고 20분 정도 다른 업무를 하다가 오는 것이 좋다.
내 PC (Macbook)에서 OKE Cluster에 접근하기 (Bastion 구성)
Oracle이 너무 간단하게 만들어 놓아서 굳이 장황하게 설명할게 없다.
아래 Web Page에서 아래 빨간 번호 순서로 따라 하기만 하면 된다.
당연한 말이겠지만, 내 Macbook은 Public Network을 통해서 Oracle Cloud Infra에 접근해야 하니까, 아래 그림의 (6)번 절차에서 "VNC-Native public endpoint"와 관련된 명령을 복사해서 내 Macbook의 iTerm에 붙여 넣어야 한다.
위 절차를 끝낸 후, 내 Macbook의 iTerm 터미널에서 아래와 같이 명령을 수행하면 명령이 잘 수행되는 것을 확인할 수 있다.
$ kubectl get node
NAME STATUS ROLES AGE VERSION
10.0.10.121 Ready node 3m7s v1.24.1
10.0.10.124 Ready node 2m59s v1.24.1
10.0.10.127 Ready node 2m55s v1.24.1
$
주의: 위 절차를 따라할 때, (5) ~ (6) 단계 사이에서 아래의 명령을 한번 수행해야 한다. 기존에 사용하던 KUBECONFIG 환경 변수가 설정된 경우라면, (6) 단계가 실패한다.
$ unset KUBECONFIG
Tip: [ Multi cluster를 운영하는 경우 ] 예를 들어서 OKE kubernetes에서 cluster2, cluster3 등 2개의 cluster를 생성하여 운영하는 경우라면 아래와 같이 .kube/config 파일 이름을 변경해서 사용하는 것을 추천.
$ mv $KUBECONFIG/config $KUBECONFIG/config.cluster2
$ cat .bashrc
... 중간 생략 ...
function use-oke-cluster2() {
AA=$(printf "\033[")
export KUBECONFIG=~/.kube/config.cluster2
echo "${AA}32m"
echo "Cluster Name :" $(cat $KUBECONFIG | yq '.clusters[0].name')
echo "Cluster API Server:" $(cat $KUBECONFIG | yq '.clusters[0].cluster.server')
echo "${AA}0m"
}
... 중간 생략 ...
$ use-oke-cluster2
Cluster Name : cluster-cja9kqodr9l
Cluster API Server: https://193.135.212.37:6443
$ kubectl get node
NAME STATUS ROLES AGE VERSION
10.0.10.115 Ready node 11d v1.25.4
10.0.10.117 Ready node 11d v1.25.4
$