주:
- 이 사용지침서는 Oracle 제공 무료 실습 환경에서 제공됩니다.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값을 사용합니다. 실습을 마치면 사용자의 클라우드 환경과 관련된 값으로 대체합니다.
컴팩트한 Oracle Cloud Native Environment 실행
소개
Oracle Cloud Native Environment의 1.5 릴리스에서는 컴팩트한 배포를 도입하여 비시스템 Kubernetes 워크로드가 제어 플레인 노드에서 실행되도록 했습니다. --compact
를 true
로 설정하면 플랫폼 API 서버가 제어 플레인 노드를 도용하지 않습니다. 이 설정을 통해 비시스템 Kubernetes 워크로드를 예약하고 제어 플레인 노드에서 실행할 수 있습니다.
중요: 운용 환경의 경우 이 옵션을 false(기본값)로 설정해야 합니다.
이 사용지침서에서는 압축된 Oracle Cloud Native Environment 배포를 생성, 검증 및 설치합니다.
목표
- 소형 배치 생성
- 테스트 프로젝트를 사용하여 배치 확인
필요 조건
단일 Oracle Linux 8 이상 시스템이 다음과 같이 프로비저닝됩니다.
- sudo 권한이 있는 비루트 사용자
Oracle Support 책임제한
Oracle은 다음 지침의 단계 순서에 대한 기술 지원을 제공하지 않습니다. 이러한 단계는 운용에서 사용하도록 의도되지 않은 배치 토폴로지를 참조하기 때문입니다. 이 사용지침서에서는 선택적인 지침을 제공하여 개발자들이 개발 중에 로컬로 서비스를 테스트하는 데 도움을 줍니다.
클라우드 전용 애플리케이션의 개발 및 관리를 위해 지원되는 Oracle 방법은 Oracle Cloud Native Environment입니다. 자세한 내용은 https://docs.oracle.com/en/operating-systems/olcne/를 참조하십시오.
랩 환경 설정
주: 무료 실습 환경을 사용하는 경우 Oracle Linux Lab Basics에서 연결 및 기타 사용 지침을 참조하십시오.
정보: 무료 실습 환경은 환경을 생성할 수 있도록 제공된 노드에 Oracle Cloud Native Environment를 배포합니다. 이 배치는 실행 후 완료되는 데 약 8-10분이 걸립니다. 따라서 이 실행 중에 단계를 마치고 연습을 완료하도록 돌아갈 수 있습니다.
-
아직 연결되지 않은 경우 터미널을 열고 ssh를 통해 ocne-node01 시스템에 연결합니다.
ssh oracle@<ip_address_of_ol_node>
주: (선택 사항) 무료 실습 환경에서는 감사 로그에 보고된 다음 문제를 해결하는 SELinux 정책 임시해결책을 자동으로 배치합니다. 이 오류로 인해 일부 상황에서 Oracle Cloud Native Environment가 제대로 배치되지 않을 수 있습니다.
sudo journalctl -xe
및 키보드 화살표를 사용하여 시스템 로그를 검사하여 로그를 탐색하여 사용자 환경에서 발생하는지 확인할 수 있습니다. 제공된 무료 실습 환경에서 이를 실행할 필요가 없습니다.Jun 16 19:03:51 ocne-node01 setroubleshoot[125840]: SELinux is preventing iptables from ioctl access on the directory /sys/fs/>
임시해결책:
echo '(allow iptables_t cgroup_t (dir (ioctl)))' | sudo tee /root/local_iptables.cil sudo semodule -i /root/local_iptables.cil
플랫폼 CLI 구성 파일 만들기
YAML 기반 구성 파일을 사용하면 환경 및 모듈을 간단하게 만들고 관리할 수 있습니다. 구성 파일에는 만들려는 환경과 모듈에 대한 세부 정보가 포함되므로 Platform CLI 명령 옵션을 반복해서 입력하면 됩니다.
구성 파일을 사용하는 경우 전역 명령 옵션이므로 플랫폼 CLI 명령에 --config-file
옵션을 전달합니다. --config-file
옵션은 --force
옵션을 제외하고 다른 명령줄 옵션을 사용 안함으로 설정합니다. olcnectl
명령은 다른 명령줄 옵션을 무시하고 구성 파일의 값만 사용합니다.
무료 실습 환경에서는 이 연습에서 사용할 구성 파일을 생성합니다. 수동으로 구성 파일을 만드는 방법은 Oracle 설명서의 Using a Configuration File을 참조하십시오.
-
구성 파일 컨텐츠를 봅니다.
cat ~/myenvironment.yaml
environment-name
옵션은 모듈을 배치하는 환경을 설정합니다.module:
옵션은mycluster
의name:
클러스터와 함께kubernetes
모듈을 배치합니다.compact:
옵션은 배치가 제어 플레인 노드에서 수행되도록 설정합니다.
주: 이 구성 파일에는
worker-nodes:
옵션이 없습니다. 모듈이 단일 제어 플레인 노드에만 배포되어야 하므로compact:
를 사용할 때 구성 파일에서 이 옵션을 제거해야 합니다.
환경 및 Kubernetes 모듈 생성
-
환경을 생성합니다.
cd ~ olcnectl environment create --config-file myenvironment.yaml
출력 예:
[oracle@ocne-node01 ~]$ olcnectl environment create --config-file myenvironment.yaml Environment myenvironment created.
-
Kubernetes 모듈을 생성합니다.
olcnectl module create --config-file myenvironment.yaml
출력 예:
[oracle@ocne-node01 ~]$ olcnectl module create --config-file myenvironment.yaml Modules created successfully.
-
Kubernetes 모듈을 검증합니다.
olcnectl module validate --config-file myenvironment.yaml
출력 예:
[oracle@ocne-node01 ~]$ olcnectl module validate --config-file myenvironment.yaml Validation of module mycluster succeeded.
이 예제에는 검증 오류가 없습니다. 오류가 있으면 명령 출력에서 검증 검사를 수정하고 전달하는 데 필요한 구문을 제공합니다.
-
Kubernetes 모듈을 설치합니다.
olcnectl module install --config-file myenvironment.yaml
노드에 Kubernetes를 배포하는 데 몇 분 정도 걸릴 수 있습니다.
출력 예:
[oracle@ocne-node01 ~]$ olcnectl module install --config-file myenvironment.yaml Modules installed successfully.
주: 모듈 설치가 실패하면 오류가 다시 보고될 수 있습니다. 모듈 "mycluster"가 정상 상태에 도달하지 않습니다. 마지막 상태: externalip-webhook은 정상 상태가 아닙니다. 이 오류는 환경 또는 인증서의 구성이 올바르지 않아서 포드 상태가 잘못되었기 때문일 수 있습니다.
이 자습서에서는 확실성에 대해 자세히 설명합니다. 하지만 가장 간단한 레벨에서 노드의 확실성은 특정 노드가 해당 노드에 대한 POD를 끌어오거나 재생성하는 위치를 결정합니다. 이 배치에는 노드가 하나만 있기 때문에 Pod가 배치될 수 있도록 하려면 untegred 상태가 있어야 합니다. 확실성에 대한 자세한 내용은 Kubernetes 업스트림 설명서의 확실성 및 허용 한도를 참조하십시오.
-
Kubernetes 모듈 배치를 검증합니다.
olcnectl module instances --config-file myenvironment.yaml
출력 예:
[oracle@ocne-node01 ~]$ olcnectl module instances --config-file myenvironment.yaml INSTANCE MODULE STATE 10.0.0.140:8090 node installed mycluster kubernetes installed
Kubernetes 명령행 도구 설정 및 Kubernetes 환경 검증
-
kubectl
명령을 설정합니다.mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config export KUBECONFIG=$HOME/.kube/config echo 'export KUBECONFIG=$HOME/.kube/config' >> $HOME/.bashrc
-
kubectl
가 작동하는지 확인합니다.kubectl get nodes
출력 예:
[oracle@ocne-node01 ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION ocne-node01 Ready <none> 5m30s v1.22.8+1.el8
-
POD 목록을 가져옵니다.
kubectl get pods -A
출력 예:
[oracle@ocne-node01 ~]$ kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE externalip-validation-system externalip-validation-webhook-7988bff847-bkvxd 1/1 Running 0 5m47s kube-system coredns-7cbc77dbc7-4rghr 1/1 Running 0 5m47s kube-system coredns-7cbc77dbc7-lp7x6 1/1 Running 0 5m47s kube-system etcd-ocne-node01 1/1 Running 0 6m7s kube-system kube-apiserver-ocne-node01 1/1 Running 0 6m7s kube-system kube-controller-manager-ocne-node01 1/1 Running 0 6m7s kube-system kube-flannel-ds-5spkp 1/1 Running 0 5m47s kube-system kube-proxy-cq27f 1/1 Running 0 5m47s kube-system kube-scheduler-ocne-node01 1/1 Running 0 6m7s kubernetes-dashboard kubernetes-dashboard-5d5d4947b5-n2vcd 1/1 Running 0 5m47s
로컬에서 개발된 애플리케이션을 Oracle Cloud Native Environment에 배포하여 테스트할 수 있도록 모든 것이 올바르게 작동하고 실행 중임을 확인할 수 있습니다.
요약
Oracle Cloud Native Environment 버전을 설치하는 것은 그 시작일 뿐이며 로컬 테스트 및 개발을 지원하는 유용한 툴입니다. 자세한 예는 Run Kubernetes on Oracle Linux를 참조하십시오.
추가 정보
- Oracle Cloud Native Environment 문서
- Oracle Cloud Native Environment 교육
- Oracle 교육 라이브러리
- Oracle Linux 커리큘럼
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 보다 무료 학습 컨텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer을 방문하여 Oracle Learning Explorer가 됩니다.
제품 설명서는 Oracle Help Center를 참조하십시오.
Run a Compact Oracle Cloud Native Environment
F59604-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.