주:

Oracle Cloud Native Environment에서 Kubernetes 버전 업그레이드

소개

모범 사례는 가능한 한 빨리 새 릴리스 후 Kubernetes 클러스터를 업그레이드할 것을 권장합니다. 가능한 한 빨리 업그레이드해야 하는 이유는 다음과 같습니다.

이 사용지침서에서는 Oracle CNE 클러스터에서 사용되는 Kubernetes 버전을 업그레이드하는 방법을 보여줍니다.

Oracle CNE에 대한 자세한 내용은 최신 릴리스 설명서 사이트를 참조하십시오.

목표

이 자습서에서는 다음 내용을 학습합니다.

필요 조건

Oracle Cloud 전용 환경 배치

주: 고유 테넌시에서 실행 중인 경우 랩 환경을 배치하기 전에 linux-virt-labs GitHub 프로젝트 README.md을 읽고 필요 조건을 완료하십시오.

  1. Luna Desktop에서 터미널을 엽니다.

  2. linux-virt-labs GitHub 프로젝트를 복제합니다.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. 작업 디렉토리로 변경합니다.

    cd linux-virt-labs/ocne2
    
  4. 필요한 모음을 설치합니다.

    ansible-galaxy collection install -r requirements.yml
    
  5. lab 환경을 배치합니다.

    ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e install_ocne_rpm=true
    

    무료 실습 환경에는 추가 변수 local_python_interpreter이 필요합니다. 이 변수는 localhost에서 실행되는 재생에 대해 ansible_python_interpreter를 설정합니다. 환경이 python3.6 모듈 아래에 있는 Oracle Cloud Infrastructure SDK for Python용 RPM 패키지를 설치하므로 이 변수가 필요합니다.

    기본 배치 구성은 AMD CPU 및 Oracle Linux 8을 사용합니다. Intel CPU 또는 Oracle Linux 9를 사용하려면 배치 명령에 -e instance_shape="VM.Standard3.Flex" 또는 -e os_version="9"를 추가합니다.

    중요: 플레이북이 성공적으로 실행될 때까지 기다렸다가 일시 중지 작업에 도달합니다. 이 플레이북 단계에서는 Oracle CNE 설치가 완료되고 인스턴스가 준비됩니다. 배치하는 노드의 공용(public) 및 전용(private) IP 주소와 실습을 실행하는 동안 필요한 기타 배치 정보를 출력하는 이전 플레이를 기록해 둡니다.

Kubernetes 클러스터 시작

1.31로 업그레이드할 계획과 함께 Kubernetes v1.30 기반 단일 제어 플레인 및 작업자 노드 클러스터를 사용합니다.

  1. 터미널을 열고 SSH를 통해 OCNE 인스턴스에 연결합니다.

    ssh oracle@<ip_address_of_node>
    
  2. 클러스터를 시작합니다.

    ocne cluster start --version 1.30 -n 1 -w 1 -u false
    
  3. 새 클러스터에 대한 kubeconfig 환경 변수를 설정합니다.

    export KUBECONFIG=$(ocne cluster show -C ocne)
    

    여기서 ocne은 지정되지 않은 한 클러스터의 기본 이름입니다. 그런 다음 kubectl get nodes를 사용하여 두 노드를 표시하고 버전 1.30이 실행 중인지 확인할 수 있습니다.

Kubernetes 업데이트

Kubernetes에서는 한 번에 하나의 버전을 업데이트해야 하므로 두 개 이상의 버전을 업그레이드해야 하는 경우 각 버전에 대해 이러한 단계를 반복해야 합니다.

  1. 다음 Kubernetes 버전을 준비합니다.

    ocne cluster stage -v 1.31
    
  2. 클러스터 노드 목록을 가져옵니다.

    kubectl get nodes
    
  3. 사용 가능한 업데이트가 있는지 확인합니다.

    watch ocne cluster info
    

    출력에 보고된 nodes with available updates: 2가 표시될 때까지 모니터합니다. watch 명령을 종료하려면 Ctrl-c를 입력합니다.

  4. 제어 평면 노드를 업데이트합니다.

    먼저 클러스터 내의 모든 제어 플레인 노드를 업데이트해야 합니다.

    ocne node update -N ocne-control-plane-1
    

    명령이 완료된 후 업데이트를 완료하는 데 몇 분 정도 걸릴 수 있습니다. kubectl get nodes를 사용하여 제어 플레인 노드의 버전을 확인할 수 있습니다.

  5. 워커 노드를 업데이트합니다.

    ocne node update -N ocne-worker-1 --delete-emptydir-data
    

    업그레이드를 사용할 수 없거나 클러스터가 업그레이드를 수행할 수 없다는 경고가 표시되면 이 명령을 반복합니다. 작업자 노드를 업데이트하기 전에 이 작은 클러스터를 안정화하는 데 몇 분 정도 걸릴 수 있습니다.

    ui Pod는 emptyDir 볼륨을 사용하여 실행 중인 컨테이너 간에 콘텐츠를 공유하므로 워커 노드에는 --delete-emptydir-data 옵션이 필요합니다.

  6. 클러스터 노드의 버전을 확인합니다.

    kubectl get nodes
    

    출력에 각 노드가 예상 버전으로 표시될 때까지 명령을 반복합니다.

다음 단계

Oracle CNE 클러스터에 배포된 최신 Kubernetes 버전을 유지하는 방법을 알면 클러스터가 모든 최신 보안 및 안정성 수정으로 업데이트됩니다.

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.