Note:

Creación de Oracle Cloud Native Environment desde el origen

Introducción

La interfaz de línea de comandos (CLI) de Oracle Cloud Native Environment (Oracle CNE) gestiona el ciclo de vida del cluster de Kubernetes en su organización. También es un proyecto de código abierto disponible en GitHub, y en este tutorial se muestra cómo crear el ejecutable ocne usted mismo.

Para obtener más información sobre Oracle Cloud Native Environment 2, consulte el sitio actual de documentación de versión.

Objetivos

En este tutorial, aprenderá a:

Requisitos

Configuración de Oracle Cloud Native Environment

Nota: Si se ejecuta en su propio arrendamiento, lea el proyecto linux-virt-labs GitHub README.md y complete los requisitos antes de desplegar el entorno de prácticas.

  1. Abra un terminal en el escritorio Luna.

  2. Clone el proyecto linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Cambie al directorio de trabajo.

    cd linux-virt-labs/ocne2
    
  4. Instale las recopilaciones necesarias.

    ansible-galaxy collection install -r requirements.yml
    
  5. Despliegue el entorno de prácticas.

    ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e ocne_type=libvirt
    

    El entorno de prácticas gratuito necesita la variable adicional local_python_interpreter, que define ansible_python_interpreter para las reproducciones que se ejecutan en localhost. Esta variable es necesaria porque el entorno instala el paquete de RPM para el SDK para Python de Oracle Cloud Infrastructure, ubicado en los módulos python3.6.

    La unidad de despliegue por defecto utiliza la CPU AMD y Oracle Linux 8. Para utilizar una CPU de Intel u Oracle Linux 9, agregue -e instance_shape="VM.Standard3.Flex" o -e os_version="9" al comando de despliegue.

    Importante: Espere a que el cuaderno de estrategias se ejecute correctamente y alcance la tarea de pausa. En esta etapa del manual, se ha completado la instalación de Oracle Cloud Native Environment y las instancias están listas. Tome nota de la reproducción anterior, que imprime las direcciones IP públicas y privadas de los nodos que despliega y cualquier otra información de despliegue necesaria durante la ejecución del laboratorio.

Instalación de los requisitos previos

  1. Abra un terminal y conéctese mediante SSH a la instancia ocne.

    ssh oracle@<ip_address_of_instance>
    
  2. Instalación de Git.

    sudo dnf install git -y
    
  3. Clone el repositorio de CNE de Oracle.

    git clone https://github.com/oracle-cne/ocne.git
    
  4. Cambie al directorio de trabajo.

    cd ocne
    
  5. Muestre los paquetes de Oracle Cloud Native Environment disponibles.

    sudo dnf search ocne
    

    Salida de ejemplo:

    [oracle@ocne ~]$ sudo dnf search ocne
    Last metadata expiration check: 0:01:00 ago on Fri 28 Mar 2025 11:48:50 AM GMT.
    ========================================================== Name Matched: ocne ===========================================================
    oracle-ocne-release-el8.src : Oracle Cloud Native Environment yum repository configuration
    oracle-ocne-release-el8.x86_64 : Oracle Cloud Native Environment yum repository configuration
    
  6. Instale el paquete del repositorio.

    Oracle Linux 8

    sudo dnf install -y oracle-ocne-release-el8
    

    Oracle Linux 9

    sudo dnf install -y oracle-ocne-release-el9
    
  7. Active el repositorio.

    Oracle Linux 8

    sudo dnf config-manager --enable ol8_ocne
    

    Oracle Linux 9

    sudo dnf config-manager --enable ol9_ocne
    sudo dnf config-manager --enable ol9_olcne19
    
  8. Active el repositorio Codeready.

    El repositorio CodeReady proporciona muchos paquetes y herramientas para que los desarrolladores creen y empaqueten aplicaciones.

    Oracle Linux 8

    sudo dnf config-manager --enable ol8_codeready_builder
    

    Oracle Linux 9

    sudo dnf config-manager --enable ol9_codeready_builder
    
  9. Confirme que los repositorios estén activados.

    sudo dnf repolist
    
  10. Actualice el requisito de Helm para Oracle Linux 9.

    Oracle Linux 8

    No necesario.

    Oracle Linux 9

    sed -i 's/3.13.0/3.12.0/' buildrpm/ocne.spec
    
  11. Instale los requisitos.

    sudo yum-builddep buildrpm/ocne.spec -y
    

    Salida de ejemplo:

    [oracle@ocne ocne]$ sudo yum-builddep buildrpm/ocne.spec 
    Oracle Linux 8 BaseOS Latest (x86_64)                                                                    317 kB/s | 4.3 kB     00:00    
    Oracle Linux 8 Application Stream (x86_64)                                                                69 kB/s | 4.5 kB     00:00    
    Oracle Linux 8 CodeReady Builder (x86_64) - Unsupported                                                   39 MB/s |  12 MB     00:00    
    Oracle Linux 8 Addons (x86_64)                                                                           184 kB/s | 3.5 kB     00:00    
    Oracle Cloud Native Environment version 2.0 (x86_64)                                                      30 MB/s | 6.1 MB     00:00    
    Dependencies resolved.
    =========================================================================================================================================
     Package                           Architecture    Version                                          Repository                      Size
    =========================================================================================================================================
    Installing:
     btrfs-progs-devel                 x86_64          5.15.1-2.el8                                     ol8_UEKR7                       49 k
     device-mapper-devel               x86_64          8:1.02.181-15.0.1.el8_10                         ol8_codeready_builder          284 k
     golang                            x86_64          1.22.9-1.module+el8.10.0+90476+bb48cc15          ol8_appstream                  759 k
     gpgme-devel                       x86_64          1.13.1-12.el8                                    ol8_codeready_builder          166 k
     helm                              x86_64          3.17.1-2.el8                                     ol8_ocne                        12 M
     libassuan-devel                   x86_64          2.5.1-3.el8                                      ol8_codeready_builder           69 k
     rpm-build                         x86_64          4.14.3-32.0.1.el8_10                             ol8_appstream                  174 k
     yq                                x86_64          4.45.1-1.el8                                     ol8_ocne                       3.4 M
    Upgrading:
     btrfs-progs                       x86_64          5.15.1-2.el8                                     ol8_UEKR7                      864 k
    ...
    ...
      python3-rpm-macros-3-45.el8.noarch                                  qt5-srpm-macros-5.15.3-1.el8.noarch                                
      redhat-rpm-config-131-1.0.1.el8.noarch                              rpm-build-4.14.3-32.0.1.el8_10.x86_64                              
      rust-srpm-macros-5-2.el8.noarch                                     systemd-devel-239-82.0.3.el8_10.3.x86_64                           
      yq-4.45.1-1.el8.x86_64                                              zstd-1.4.4-1.0.1.el8.x86_64   
    

Creación del ejecutable

  1. Compruebe las opciones disponibles.

    make
    

    Salida de ejemplo:

    [oracle@ocne ocne]$ make
    
    Usage:
      make <target>
      help                       Display this help.
      build-cli                  Build CLI for the current system and architecture
      cli                        Build and install the CLI
      clean                      Delete output from prior builds
    
    Linting and coverage
      check                      Run all linters
      check-golangci-lint        Run Go linters
      install-golangci-lint      Install golangci-lint
      word-linter                Check for use of 'bad' words
    
  2. Cree el ejecutable.

    make build-cli
    

    Salida de ejemplo:

    [oracle@ocne ocne]$ make cli
    ...
    ...
    cd repo && helm repo index .
    make[1]: Leaving directory '/home/oracle/ocne/build/catalog'
    mkdir -p pkg/catalog/embedded/charts
    cp build/catalog/repo/* pkg/catalog/embedded/charts
    mkdir -p out/linux_amd64
    GOTOOLCHAIN=local GO111MODULE=on GOPRIVATE=github.com/oracle-cne/ocne go build -trimpath -ldflags "-X 'github.com/oracle-cne/ocne/cmd/info.gitCommit=1101a5b5fb72e9812aa14cf68613d28440f1bc57' -X 'github.com/oracle-cne/ocne/cmd/info.buildDate=2025-04-02T09:54:53Z' -X 'github.com/oracle-cne/ocne/cmd/info.cliVersion=2.1.2-3.el8'" -tags developer -o out/linux_amd64 ./...
    
  3. Confirme que el ejecutable está presente.

    ls -al out/linux_amd64/
    

    Salida de ejemplo:

    [oracle@ocne ocne]$ ls -al out/linux_amd64/
    total 194744
    drwxrwxr-x. 2 oracle oracle        18 Mar 28 12:35 .
    drwxrwxr-x. 3 oracle oracle        25 Mar 28 12:30 ..
    -rwxrwxr-x. 1 oracle oracle 199415168 Mar 28 12:35 ocne
    
  4. Confirme que funciona.

    out/linux_amd64/ocne info
    

    Salida de ejemplo:

    [oracle@ocne ocne]$ out/linux_amd64/ocne info
    CLI Info
    Name     	Value                                   
    Version  	2.1.2-3.el8                             
    BuildDate	2025-04-02T09:54:53Z                    
    GitCommit	1101a5b5fb72e9812aa14cf68613d28440f1bc57
    
    Environment Variables
    Name         	Description                                       	Current Value
    OCNE_DEFAULTS	Sets the location of the default configuration    	             
                 	file.                                             	             
    KUBECONFIG   	Sets the location of the kubeconfig file. This    	             
                 	behaves the same way as the --kubeconfig option   	             
                 	for most ocne commands.                           	             
    EDITOR       	Sets the default document editor.
    

    Observe los valores Version y BuildDate. La versión refleja la última versión en Principal, y la BuildDate refleja la fecha y la hora de creación del ejecutable ocne.

Creación de un único cluster de nodo

  1. Crear un cluster de Oracle Cloud Native Environment de nodo único.

    out/linux_amd64/ocne cluster start
    

    En función de los recursos disponibles de la máquina, la creación del cluster puede tardar varios minutos en completarse mientras descarga el origen de imagen y lo configura.

    Una vez completado, introduzca y para completar la instalación y volver al símbolo del sistema. Ignore el resto de los pasos posteriores a la instalación y continúe con el siguiente paso.

    Salida de ejemplo:

    Run the following command to create an authentication token to access the UI:
        KUBECONFIG='/home/oracle/.kube/kubeconfig.ocne.local' kubectl create token ui -n ocne-system
    Browser window opened, enter 'y' when ready to exit: y
    
    INFO[2025-03-28T13:10:04Z] Post install information:
    
    To access the cluster from the VM host:
        copy /home/oracle/.kube/kubeconfig.ocne.vm to that host and run kubectl there
    To access the cluster from this system:
        use /home/oracle/.kube/kubeconfig.ocne.local
    To access the UI, first do kubectl port-forward to allow the browser to access the UI.
    Run the following command, then access the UI from the browser using via https://localhost:8443
        kubectl port-forward -n ocne-system service/ui 8443:443
    Run the following command to create an authentication token to access the UI:
        kubectl create token ui -n ocne-system
    
  2. Instale la herramienta de línea de comandos de Kubernetes (kubectl)

    sudo dnf install -y kubectl
    
  3. Configure kubectl para utilizar el cluster recién creado.

    export KUBECONFIG=$HOME/.kube/kubeconfig.ocne.local
    
  4. Confirme que el cluster consta de un solo nodo.

    kubectl get nodes --all-namespaces
    

    Salida de ejemplo:

    [oracle@ocne ~]$ kubectl get nodes --all-namespaces
    NAME                   STATUS   ROLES           AGE     VERSION
    ocne-control-plane-1   Ready    control-plane   2m23s   v1.31.6+1.el8
    
  5. Confirme el despliegue correcto del cluster.

    kubectl get deployments --all-namespaces
    

    Salida de ejemplo:

    [oracle@ocne ~]$ kubectl get deployments --all-namespaces
    NAMESPACE     NAME           READY   UP-TO-DATE   AVAILABLE   AGE
    kube-system   coredns        2/2     2            2           15m
    ocne-system   ocne-catalog   1/1     1            1           15m
    ocne-system   ui             1/1     1            1           15m
    
  6. Muestre todos los pods desplegados.

    kubectl get pods --all-namespaces
    

    Salida de ejemplo:

    [oracle@ocne ~]$ kubectl get pods --all-namespaces
    NAMESPACE      NAME                                           READY   STATUS    RESTARTS      AGE
    kube-flannel   kube-flannel-ds-8fbm2                          1/1     Running   0.            13m
    kube-system    coredns-f7d444b54-njk46                        1/1     Running   0             13m
    kube-system    coredns-f7d444b54-xn975                        1/1     Running   0             13m
    kube-system    etcd-ocne-control-plane-1                      1/1     Running   0             13m
    kube-system    kube-apiserver-ocne-control-plane-1            1/1     Running   0             13m
    kube-system    kube-controller-manager-ocne-control-plane-1   1/1     Running   0             13m
    kube-system    kube-proxy-jsfqs                               1/1     Running   0             13m
    kube-system    kube-scheduler-ocne-control-plane-1            1/1     Running   0             13m
    ocne-system    ocne-catalog-578c959566-75rr5                  1/1     Running   0             13m
    ocne-system    ui-84dd57ff69-grxlk                            1/1     Running   0             13m
    

    Esta salida confirma que ha creado correctamente ocne a partir del código fuente y ha creado un nuevo cluster de Kubernetes.

Pasos siguientes

En este tutorial se ha demostrado cómo crear la CLI de CNE de Oracle a partir del código fuente en GitHub, lo que resulta útil para las pruebas locales. Sin embargo, esto es solo el comienzo. Consulte Oracle Linux Training Station para obtener tutoriales y contenido adicionales.

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.