OCI Container Engine for Kubernetes(OKE)를 이용하여 쿠버네티스 클러스터를 생성 및 관리하기 위해서는 먼저 관련 OCI 자원을 사용할 수 있는 권한이 필요하다. 이를 위해 OCI 사용자는 ① 해당 Tenancy의 Administrator 그룹 소속이거나, 또는 ② 클러스터, 인스턴스, VCN등을 읽거나 사용, 또는 관리할 수 있는 권한 부여가 필요하다. 클러스터 생성을 위해 부여할 개별 권한은 아래 페이지을 참조한다.
Policy Configuration for Cluster Creation and Deployment
여기서는 Administrator 그룹 유저로 테스트를 진행했으므로, 별도 그룹 생성 및 권한 부여 작업을 하지는 않았다.
그리고 2020년 3월 12일 이전에는 OCI 자원을 제어하기 위해 “Allow service OKE to manage all-resources in tenancy” 정책을 생성해서 OKE서비스에게 부여해야 했던 권한이 필요했었는데, 현재는 자동으로 생성되어 있으므로 별도로 해당 정책을 만들 필요가 없다.
여기서는 이후 Wercker와 OKE, OCIR 연동이 필요하기 때문에 OKE 클러스터를 Ashburn Region에 생성한다.
Developer Services > Kubernetes Clusters 화면으로 이동하여 “Create Cluster” 클릭한다. 클러스터를 생성할 Compartment 선택를 확인한다.
OKE 클러스터는 미리 정의한 VCN에 맞춰 생성할 수 있는 “Custom Create” 옵션으로 생성할 수도 있고, “Quick Create” 옵션으로 OKE 클러스터에 필요한 VCN 자원들을 자동으로 함께 생성할 수도 있다. 여기서는 “Quick Create” 옵션을 선택했다.
OKE 클러스터 워커 노드(Worker Node)를 “Choose Visibility Type”에서 퍼블릭 또는 프라이빗 서브넷에 위치시킬 수 있다. 여기서는 프라이빗으로 생성했다. Shape은 VM.Standard.E2.1로 노드 수는 3으로 하였다. 그리고 트러블슈팅 상황을 대비하여 워커 노드에 SSH 접속을 위해 “Show Advanced Options” 클릭하여 SSH public key 입력했다. 입력 후, 하단의 “Next”를 클릭한다.
앞서 설정한 내용 확인하고, 하단의 “Create Cluster”을 클릭한다.
OKE 클러스터의 네트웍 자원이 생성되었다는 메세지를 확인하고, 팝업창 하단의 “Close” 클릭한다.
OKE 클러스터 생성 진행 상태를 확인한다.
클러스터 생성이 완료되면 진행 상태가 “CREATING”에서 “ACTIVE”로 변경된다.
클러스터가 생성되면
로드밸런서가 위치할 퍼블릭 서브넷 (10.0.10.0/24)과, 세개의 워커 노드가 위치할 프라이빗 서브넷(10.0.20.0/24) 이 생성되어 있고, 각 서브넷은 자신의 라우트 테이블, 시큐리티 리스트를 갖는 것을 알 수 있다. 퍼블릭용 라우트 테이블에는 인터넷 게이트웨이가, 프라이빗용 라우트 테이블에는 NAT 게이트웨이가 연결되어 있다.
생성된 클러스터에 kubectl을 이용해서 접근하기 위해서는 먼저 쿠버네티스 설정 파일 “kubeconfig”을 설정해야 한다. kubeconfig 파일은 클러스터에 접근하기 위해 필요한 상세 정보를 제공하는 역할을 한다.
kubeconfig 파일을 설정하는 방법은 OCI 콘솔의 Cloud Shell에서 OCI CLI 명령으로 하거나, 별도 호스트에 kubectl을 설치하여 클러스터에 접근하도록 하는 방법이 있다. 여기에서는 후자의 방법으로 구성한다. Cloud Shell을 이용하는 방식은 아래 페이지를 참조한다.
Setting Up Cloud Shell Access to Clusters
이번 테스트에서는 kubectl용 호스트를 별도로 만들었으며, 클러스터 생성 시 만들어진 VCN을 활용하여 아래와 같이 별도 kubectl용 호스트용 서브넷과 라우트 테이블, 시큐리티 리스트로 추가하여 구성을 했다.
- 라우트 테이블: “rt-public”, 클러스터 생성 시 만들어진 인터넷 게이트웨이를 사용하여 아래와 같이 규칙 추가
- 시큐리티 리스트: “sl-public”, Ingress 규칙은 Destination을 0.0.0.0/0으로 하여 TCP 22번 포트,
Ingress
Egress
- 서브넷: “sn-public”, 10.0.30.0/24, 퍼블릭 서브넷 (Regional), 디폴트 DHCP 옵션, 앞서 만든 라우트 테이블 및 시큐리티 리스트와 연결
- VM인스턴스: “inst-public”, Oracle-Linux-7.9, “sn-public” 사용. Shape은 VM.Standard.E3.Flex 2 OCPU, 36 GB Memory로 생성
kubectl용 호스트가 준비가 되면 kubeconfig 파일을 설정한다. 그 전에 OCI CLI 설치 및 구성을 한다.
OCI Container Engine for Kubernetes 관리는 쿠버네트스 대쉬보드 또는 명령어 툴 “kubectl”을 통해 수행할 수 있다. 이 중 kubectl 을 통해 OCI 쿠버네티스 자원을 제어하기 위해서는, 먼저 OCI CLI 설치가 필요하다. OCI CLI 환경에서 “kubectl” 명령을 수행하게된다.
그런데 OCI CLI는 Python 엔진 위에서 작동하기 때문에 OCI를 설치 전, 해당 호스트에 Python이 미리 설치되어 있어야 한다. OCI CLI는 MacOS, 윈도우즈, 리눅스(오라클, CentOS, Ubuntu) 상의 Python 2인 경우, 버전 2.7 이상을 Python 3인 경우, 3.5 ~ 3.8을 지원한다.
참고로, 보안 프로그램으로 McAfee를 구동하고 있는 윈도우즈 환경에서는 OCI CLI 설치 스크립트가 설치를 수행할 powershell.exe 프로그램에 엑세스가 거부되어 설치가 안될 수 있다. 여기에서는 Oracle Linux 환경에서 OCI CLI를 설치 및 설정을 했다.
Oracle Linux의 경우, 아래와 같이 설치 스크립트를 실행하면 Python 과 OCI CLI가 함께 설치된다.
[opc@inst-public ~]$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 16053 100 16053 0 0 29496 0 --:--:-- --:--:-- --:--:-- 29563 … ===> In what directory would you like to place the install? (leave blank to use '/home/opc/lib/oracle-cli'): ENTER … ===> In what directory would you like to place the 'oci' executable? (leave blank to use '/home/opc/bin'): ENTER … ===> In what directory would you like to place the OCI scripts? (leave blank to use '/home/opc/bin/oci-cli-scripts'): ENTER … ===> Currently supported optional packages are: ['db (will install cx_Oracle)'] What optional CLI packages would you like to be installed (comma separated names; press enter if you don't need any optional packages)?: ENTER … ===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n): Y ===> Enter a path to an rc file to update (file will be created if it does not exist) (leave blank to use '/home/opc/.bashrc'): ENTER … -- Installation successful. -- Run the CLI with /home/opc/bin/oci --help [opc@inst-public ~]$ python --version Python 2.7.5 [opc@inst-public ~]$ oci -v 2.21.3 |
OCI CLI를 사용하기 위해 “oci setup config” 명령으로 설정을 수행한다. 이때 Tenancy OCID (OCI 웹콘솔 Administration > Tenancy Details에서 확인), User OCID (OCI 웹콘솔 Identity > Users > User Details에서 자신의 유저 확인), Region 정보가 필요하므로 미리 확인한다.
그리고 OCI CLI로 OCI 자원을 관리하기 위해서는 API Signing RSA key pair가 필요한데 여기서는 신규로 생성했다.
[opc@inst-public ~]$ oci setup config This command provides a walkthrough of creating a valid CLI config file. … Enter a location for your config [/home/opc/.oci/config]: ENTER Enter a user OCID: ocid1.user.oc1..aaaaaaaagzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enter a tenancy OCID: ocid1.tenancy.oc1..aaaaaaaa6maxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enter a region by index or name(e.g. 1: ap-chiyoda-1, 2: ap-chuncheon-1, 3: ap-hyderabad-1, 4: ap-melbourne-1, 5: ap-mumbai-1, 6: ap-osaka-1, 7: ap-seoul-1, 8: ap-sydney-1, 9: ap-tokyo-1, 10: ca-montreal-1, 11: ca-toronto-1, 12: eu-amsterdam-1, 13: eu-frankfurt-1, 14: eu-zurich-1, 15: me-dubai-1, 16: me-jeddah-1, 17: sa-santiago-1, 18: sa-saopaulo-1, 19: uk-cardiff-1, 20: uk-gov-cardiff-1, 21: uk-gov-london-1, 22: uk-london-1, 23: us-ashburn-1, 24: us-gov-ashburn-1, 25: us-gov-chicago-1, 26: us-gov-phoenix-1, 27: us-langley-1, 28: us-luke-1, 29: us-phoenix-1, 30: us-sanjose-1): us-ashburn-1 Do you want to generate a new API Signing RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: Y Enter a directory for your keys to be created [/home/opc/.oci]: ENTER Enter a name for your key [oci_api_key]: ENTER Public key written to: /home/opc/.oci/oci_api_key_public.pem Enter a passphrase for your private key (empty for no passphrase): ENTER Private key written to: /home/opc/.oci/oci_api_key.pem Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx Config written to /home/opc/.oci/config … [opc@instance-dev ~]$ |
oci setup config 과정에서 만들어진 RSA key pair 중 public key를 OCI 유저에 등록을 하면 OCI CLI로 해당 유저의 자원을 제어할 수 있게 된다. RSA public key 위치는 위 “Public key written to: /home/opc/.oci/oci_api_key_public.pem” 부분에서 확인할 수 있다. 먼저 RSA public key 내용을 복사한다.
[opc@inst-public ~]$ cat /home/opc/.oci/oci_api_key_public.pem -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlzgr0ALxtiyYvjPQo/M0 … U3yVP0CPFT9hEdDQwL6j1hTZy1TzdFjHKzdMD0c3+2IWOkr+gCLk31AC1f2/4dmX LwIDAQAB -----END PUBLIC KEY----- |
복사한 RSA public key 내용을 OCI 웹콘솔 Identity > Users > User Details 의 API Keys 화면에서 등록한다. “Add API Key”를 클릭하여 “Paste Public Key”를 선택한 다음, 복사한 RSA public key를 붙여넣고 하단의 “Add”를 클릭한다. 이후 내용을 확인하고 “Close”를 클릭하여 팝업창을 닫는다.
RSA public key 등록을 하면 아래와 같이 key가 추가된 것을 확인할 수 있다.
OCI CLI 명령이 정상 작동하는 지 확인한다. 아래는 namespace 조회, compartment 조회하는 샘플이다.
[opc@inst-public ~]$ oci os ns get { "data": "apackrsct01" } [opc@inst-public ~]$ T=ocid1.tenancy.oc1..aaaaaaaa6maxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [opc@inst-public ~]$ oci iam compartment list -c $T { "data": [ { … "name": "TEMPORARY_COMPARTMENT_TO_BE_DELETED", "time-created": "2020-08-29T05:49:17.995000+00:00" } ] } [opc@inst-public ~]$ |
참고문서: Install and Set Up kubectl
이번에는 쿠버네티스 명령어 툴인 kubectl을 설치한다.
kubectl은 curl 명령 또는 YUM과 같은 패지지 관리 툴로 설치할 수 있다. 여기서는 curl 명령으로 설치한다.
아래 명령으로 최신 버전의 kubectl 바이너리를 다운로드 받는다.
[opc@inst-public ~]$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 161 100 161 0 0 420 0 --:--:-- --:--:-- --:--:-- 421 100 38.3M 100 38.3M 0 0 1521k 0 0:00:25 0:00:25 --:--:-- 1565k |
kubectl을 설치한다.
[opc@inst-public ~]$ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl |
설치가 정상적으로 되었는지 버전을 확인을 해 본다.
[opc@inst-public ~]$ kubectl version --client Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.4", GitCommit:"e87da0bd6e03ec3fea7933c4b5263d151aafd07c", GitTreeState:"clean", BuildDate:"2021-02-18T16:12:00Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"} |
Developer Services > Kubernetes Clusters 로 이동하여 생성한 클러스터를 선택한다. 상단의 Access Cluster 버튼을 클릭한다. Access Your Cluster 팝업창에서 Cloud Shell Access와 Local Access 중 Local Access를 선택한다.
Local Access를 선택해서 나온 지시 내용을 그대로 복사하여 명령어 프롬프트에서 실행한다. kubeconfig 파일을 담을 디렉토리를 생성한 다음, kubeconfig 파일을 설정하여 config 파일에 저장한다. 그리고 KUBECONFIG 환경 변수를 설정한다. KUBECONFIG 환경 변수까지 설정하고 Local Access 팝업창 하단의 “Close”를 클릭하여 창을 닫는다.
향후 해당 클러스터에 계속 접근할 것이므로 .bash_profile에 “export KUBECONFIG=$HOME/.kube/config” 라인을 추가하고 프로파일을 적용해 둔다.
[opc@inst-public ~]$ mkdir -p $HOME/.kube [opc@inst-public ~]$ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --file $HOME/.kube/config --region us-ashburn-1 --token-version 2.0.0 New config written to the Kubeconfig file /home/opc/.kube/config [opc@inst-public ~]$ export KUBECONFIG=$HOME/.kube/config [opc@inst-public ~]$ cat .bash_profile … export KUBECONFIG=$HOME/.kube/config |
이제 클러스터에 접속하기 위한 kubectl 설정은 모두 끝났다. kubectl cluster-info 명령으로 클러스터 구성을 조회할 수 있다. 마스터 노드의 IP 주소와 내부 DNS 엔드포인트를 알 수 있다. kubectl과 마스터 노드가 통신할 수 없을 경우, 에러가 출력된다.
[opc@inst-public ~]$ kubectl cluster-info Kubernetes control plane is running at https://147.154.27.43:6443 CoreDNS is running at https://147.154.27.43:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. |
현재 클러스터의 상세한 상태를 덤프를 뜰 수 있으며, 경로를 지정해 파일로 남길 수 있다. 여기서는 /home/opc/cluster-state 디렉토리가 생성되고 네일스페이스별로 클러스터의 상세 정보를 가져온 것을 알 수 있다.
[opc@inst-public ~]$ kubectl cluster-info dump --output-directory=/home/opc/cluster-state Cluster info dumped to /home/opc/cluster-state [opc@inst-public ~]$ ls -l /home/opc/cluster-state total 68 drwxr-xr-x. 2 opc opc 4096 Mar 4 01:23 default drwxr-xr-x. 18 opc opc 4096 Mar 4 01:23 kube-system -rw-rw-r--. 1 opc opc 59063 Mar 4 01:23 nodes.json [opc@inst-public ~]$ ls /home/opc/cluster-state/kube-system/ coredns-779ff5d778-6r5zt daemonsets.json kube-flannel-ds-hxcrs proxymux-client-mscgv coredns-779ff5d778-8r67r deployments.json kube-proxy-4rl8h proxymux-client-ncg26 coredns-779ff5d778-cgqd7 events.json kube-proxy-lpjdm replicasets.json csi-oci-node-2dxdl kube-dns-autoscaler-7fb4fdb4df-5nld6 kube-proxy-mbknl replication-controllers.json csi-oci-node-2k7l2 kube-flannel-ds-2hqgp pods.json services.json csi-oci-node-4jsgh kube-flannel-ds-2p2bz proxymux-client-lwq4m |
kubeconfig 설정 내용을 아래 명령으로 확인할 수 있다.
[opc@inst-public ~]$ kubectl config view apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://147.154.27.43:6443 name: cluster-csgcoleg5rd contexts: - context: cluster: cluster-csgcoleg5rd user: user-csgcoleg5rd name: context-csgcoleg5rd current-context: context-csgcoleg5rd kind: Config preferences: {} users: - name: user-csgcoleg5rd user: exec: apiVersion: client.authentication.k8s.io/v1beta1 args: - ce - cluster - generate-token - --cluster-id - ocid1.cluster.oc1.iad.aaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - --region - us-ashburn-1 command: oci env: [] provideClusterInfo: false |
kubectl 명령으로 클러스터에서 수행 중인 노드 정보를 확인해 본다.
[opc@inst-public ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION 10.0.10.2 Ready node 5h4m v1.18.10 10.0.10.3 Ready node 5h4m v1.18.10 10.0.10.4 Ready node 5h3m v1.18.10 |
kubectl 명령으로 클러스터 내 네임스페이스를 확인해 본다. 네임스페이스는 쿠버네티스 클러스터를 논리적으로 분할하는 클러스터 가상화 기능으로 네임스페이스별 역할 기반의 접근 제어, CPU/메모리 등의 자원 제한 등에도 활용할 수 있다. 다음은 아래 조회된 네임스페이스의 용도이다.
- default: 디폴트 네임스페이스로 특별히 지정되지 않으면 사용됨.
- kube-pubic: 모든 사용자가 읽을 수 있는 네임스페이스. 쿠버네티스 클러스터를 위해 예약된 공간
- kube-system: 쿠버네티스 시스템이나 애드온(add-on)이 사용하는 네임스페이스
[opc@inst-public ~]$ kubectl get ns NAME STATUS AGE default Active 5h17m kube-node-lease Active 5h17m kube-public Active 5h17m kube-system Active 5h17m |
모든 노드에서 수행되는 파드 정보를 확인한다. OCI Container Engine for Kubernetes와 같이 클라우드 벤더에서 제공하는 관리형 쿠버네티스의 경우, 마스터 노드에서 수행되고 있는 파드는 표시되지 않는다.
STATUS 칼럼의 정보는 쿠버네티스 API를 통해 가져오는 파드의 상태 정보이다. READY 칼럼의 분모는 파드에 정의된 컨테이너 수이고, 분자는 실행 상태의 컨테이너 수 이다. 현재는 아직 사용자 파드를 만들지 않았으므로 쿠버네티스 시스템 관련 기능을 수행하는 kube-system 네임스페이스의 파드들만 있다.
STATUS 칼럼의 주요 상태 정보는 아래와 같다. (참조. Pod Lifecycle)
- Pending: 쿠버네티스 클러스터에 의해 파드 생성 요청은 받았으나, 하나 이상의 컨테이너가 생성되지 않은 상태
- Running: 파드 내 모든 컨테이너가 생성되어, 적어도 하나의 컨테이너는 실행 중이거나 시작/재시작 중인 상태
- Succeeded: 파드 내 모든 컨테이너가 정상적으로 종료된 상태
- Failed: 파드 내 적어도 하나의 컨테이너가 실패 상태로 종료됨.
- Unknown: 파드의 상태 정보를 획득할 수 없을 때. 보통 파드가 수행되는 노드와의 통신 에러 시 발생함.
RESTARTS 칼럼은 파드가 재시작한 횟수를 의미한다. 파드의 디플로이먼트는 관리 중인 파드가 종료되면, 지정된 파드의 갯수를 유지하기 위해 파드를 재기동한다. RESTARTS 칼럼의 값은 이에 대한 횟수이다.
[opc@inst-public ~]$ kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-779ff5d778-2cq5w 1/1 Running 0 5h4m kube-system coredns-779ff5d778-52bxv 1/1 Running 0 5h4m kube-system coredns-779ff5d778-v9559 1/1 Running 0 5h12m kube-system csi-oci-node-2dxdl 1/1 Running 1 5h4m kube-system csi-oci-node-2k7l2 1/1 Running 1 5h5m kube-system csi-oci-node-4jsgh 1/1 Running 0 5h5m kube-system kube-dns-autoscaler-7fb4fdb4df-vx5sx 1/1 Running 0 5h12m kube-system kube-flannel-ds-2hqgp 1/1 Running 1 5h4m kube-system kube-flannel-ds-2p2bz 1/1 Running 1 5h5m kube-system kube-flannel-ds-hxcrs 1/1 Running 1 5h5m kube-system kube-proxy-4rl8h 1/1 Running 0 5h5m kube-system kube-proxy-lpjdm 1/1 Running 0 5h5m kube-system kube-proxy-mbknl 1/1 Running 0 5h4m kube-system proxymux-client-lwq4m 1/1 Running 0 5h5m kube-system proxymux-client-mscgv 1/1 Running 0 5h4m kube-system proxymux-client-ncg26 1/1 Running 0 5h5m [opc@inst-public ~]$ kubectl get pods --all-namespaces --sort-by=.spec.nodeName -o=custom-columns=NODE:.spec.nodeName,NAME:.metadata.name,IMAGE:.spec.container[0].image NODE NAME IMAGE 10.0.10.2 csi-oci-node-4jsgh <none> 10.0.10.2 coredns-779ff5d778-52bxv <none> 10.0.10.2 coredns-779ff5d778-v9559 <none> 10.0.10.2 kube-proxy-lpjdm <none> 10.0.10.2 kube-flannel-ds-2p2bz <none> 10.0.10.2 proxymux-client-ncg26 <none> 10.0.10.3 kube-dns-autoscaler-7fb4fdb4df-vx5sx <none> 10.0.10.3 proxymux-client-lwq4m <none> 10.0.10.3 csi-oci-node-2k7l2 <none> 10.0.10.3 kube-flannel-ds-hxcrs <none> 10.0.10.3 kube-proxy-4rl8h <none> 10.0.10.3 coredns-779ff5d778-2cq5w <none> 10.0.10.4 csi-oci-node-2dxdl <none> 10.0.10.4 kube-proxy-mbknl <none> 10.0.10.4 kube-flannel-ds-2hqgp <none> 10.0.10.4 proxymux-client-mscgv <none> |
배포된 쿠버네티스의 서비스와 디플로이먼트도 조회해 본다.
[opc@inst-public ~]$ kubectl get services --all-namespaces NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5h21m kube-system kube-dns ClusterIP 10.96.5.5 <none> 53/UDP,53/TCP,9153/TCP 5h16m [opc@inst-public ~]$ kubectl get deployments --all-namespaces NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE kube-system coredns 3/3 3 3 5h16m kube-system kube-dns-autoscaler 1/1 1 1 5h16m |
글 순서
5. OCI 레지스트리에 이미지 업로드 & 다운로드 설정
여기에 정리한 내용은 오라클 제품을 다루고 있지만, 이는 개인적인 정리 및 테스트 결과일 뿐입니다. 오라클의 공식 문서는 오라클이 제공하는 매뉴얼과 기타 기술문서를 참조하셔야 합니다.
'Cloud > Oracle Cloud Infrastructure' 카테고리의 다른 글
OCI를 이용한 쿠버네티스, Wercker 쉬운 샘플 - 5. OCI 레지스트리에 이미지 업로드 & 다운로드 설정 (0) | 2021.03.22 |
---|---|
OCI를 이용한 쿠버네티스, Wercker 쉬운 샘플 - 4. OKE 클러스터에 샘플 웹서버 배포 (0) | 2021.03.17 |
OCI를 이용한 쿠버네티스, Wercker 쉬운 샘플 - 2.쿠버네티스 및 OCI 쿠버네티스(OKE) 개요 (0) | 2021.03.17 |
OCI를 이용한 쿠버네티스, Wercker 쉬운 샘플 - 1. Introduction (0) | 2021.03.17 |
OCI Autoscaling 사용 후기 (0) | 2019.03.07 |