Nota:
- Este tutorial está disponible en un entorno de laboratorio gratuito proporcionado por Oracle.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por valores específicos de su entorno en la nube.
Ejecución de Oracle Cloud Native Environment compacta
Introducción
La versión 1.5 de Oracle Cloud Native Environment introdujo el despliegue compacto, lo que permite que las cargas de trabajo de Kubernetes que no son del sistema se ejecuten en nodos de plano de control. Al definir --compact
en true
, el servidor de API de plataforma no detecta los nodos del plano de control. Este valor permite programar y ejecutar cargas de trabajo de Kubernetes que no sean del sistema en nodos de plano de control.
Importante: esta opción se debe definir en false (valor por defecto) para entornos de producción.
Durante este tutorial, creará, validará e instalará un despliegue compacto de Oracle Cloud Native Environment.
Objetivos
- Crear un despliegue compacto
- Verificar el despliegue con un proyecto de prueba
Requisitos
Un único sistema Oracle Linux 8 o posterior aprovisionado con lo siguiente:
- un usuario no raíz con permisos sudo
Exención de responsabilidad de Oracle Support
Oracle no proporciona soporte técnico para la secuencia de pasos de las siguientes instrucciones porque estos pasos hacen referencia a una topología de despliegue NO diseñada para su uso en producción. En este tutorial se proporcionan instrucciones opcionales como una comodidad solo para ayudar a los desarrolladores a probar los servicios localmente durante el desarrollo.
El método soportado de Oracle para el desarrollo y la gestión de aplicaciones en la nube es Oracle Cloud Native Environment. Para obtener más información, consulte https://docs.oracle.com/en/operating-systems/olcne/.
Configuración del entorno de prácticas
Nota: Al utilizar el entorno de prácticas gratuitas, consulte Aspectos básicos de las prácticas de Oracle Linux para obtener información sobre la conexión y otras instrucciones de uso.
Información: el entorno de laboratorio gratuito despliega Oracle Cloud Native Environment en el nodo proporcionado, listo para crear entornos. Este despliegue tarda aproximadamente entre 8 y 10 minutos en completarse después del inicio. Por lo tanto, es posible que desee alejarse mientras se ejecuta y, a continuación, volver a completar el laboratorio.
-
Si aún no está conectado, abra un terminal y conéctese mediante ssh al sistema ocne-node01.
ssh oracle@<ip_address_of_ol_node>
Nota: (Opcional) El entorno de prácticas libres despliega automáticamente una solución alternativa de política de SELinux que aborda el siguiente problema informado en los logs de auditoría. Este error puede impedir los despliegues de Oracle Cloud Native Environment adecuados en algunas situaciones. Puede examinar el log del sistema mediante
sudo journalctl -xe
y las flechas del teclado para navegar por los logs y determinar si esto ocurre en el entorno. No es necesario ejecutar esto en el entorno de laboratorio gratuito proporcionado.Jun 16 19:03:51 ocne-node01 setroubleshoot[125840]: SELinux is preventing iptables from ioctl access on the directory /sys/fs/>
Solución alternativa:
echo '(allow iptables_t cgroup_t (dir (ioctl)))' | sudo tee /root/local_iptables.cil sudo semodule -i /root/local_iptables.cil
Creación de un archivo de configuración de CLI de plataforma
El uso de un archivo de configuración basado en YAML simplifica la creación y la gestión de entornos y módulos. El archivo de configuración incluye detalles sobre los entornos y módulos que desea crear y, por lo tanto, guarda la introducción repetida de las opciones del comando de la CLI de Platform.
Al utilizar un archivo de configuración, transfiera la opción --config-file
a cualquier comando de la CLI de Platform, ya que es una opción de comando global. La opción --config-file
desactiva otras opciones de línea de comandos, excepto la opción --force
. El comando olcnectl
ignora otras opciones de línea de comandos y solo utiliza los valores del archivo de configuración.
El entorno de prácticas libres genera un archivo de configuración para utilizarlo en este ejercicio. Para obtener información sobre la creación manual de un archivo de configuración, consulte Uso de un archivo de configuración en la documentación de Oracle.
-
Visualice el contenido del archivo de configuración.
cat ~/myenvironment.yaml
- La opción
environment-name
define el entorno en el que se despliegan los módulos. - La opción
module:
despliega el módulokubernetes
con un clustername:
demycluster
. - La opción
compact:
define el despliegue para que se produzca en el nodo del plano de control.
Nota: La opción
worker-nodes:
no existe en este archivo de configuración. La eliminación de esta opción del archivo de configuración es necesaria cuando se utilizacompact:
, ya que los módulos esperan desplegar solo en un único nodo de plano de control. - La opción
Creación del entorno y el módulo de Kubernetes
-
Cree el entorno.
cd ~ olcnectl environment create --config-file myenvironment.yaml
Resultado de ejemplo:
[oracle@ocne-node01 ~]$ olcnectl environment create --config-file myenvironment.yaml Environment myenvironment created.
-
Cree el módulo de Kubernetes.
olcnectl module create --config-file myenvironment.yaml
Resultado de ejemplo:
[oracle@ocne-node01 ~]$ olcnectl module create --config-file myenvironment.yaml Modules created successfully.
-
Valide el módulo de Kubernetes.
olcnectl module validate --config-file myenvironment.yaml
Resultado de ejemplo:
[oracle@ocne-node01 ~]$ olcnectl module validate --config-file myenvironment.yaml Validation of module mycluster succeeded.
En este ejemplo no hay errores de validación. Si existen errores, la salida del comando proporciona la sintaxis necesaria para corregir y transferir la comprobación de validación.
-
Instalar el módulo de Kubernetes.
olcnectl module install --config-file myenvironment.yaml
El despliegue de Kubernetes en los nodos puede tardar varios minutos en completarse.
Resultado de ejemplo:
[oracle@ocne-node01 ~]$ olcnectl module install --config-file myenvironment.yaml Modules installed successfully.
Nota: Si la instalación del módulo falla, puede informar error: el módulo "mycluster" nunca alcanzó un estado correcto. Último estado: externalip-webhook no está en buen estado. Es probable que este error se deba a una configuración incorrecta en el entorno o los certificados y hace que el pod tenga un estado de mantenimiento incorrecto.
La explicación de taints en cualquier detalle está fuera del ámbito de este tutorial. Sin embargo, en el nivel más simple, el taint de un nodo determina dónde un nodo específico atrae o repite pods al nodo en cuestión. Dado que este despliegue solo tiene un nodo, debe tener un estado con fuente para permitir correctamente que cualquier Pod se despliegue en él. Para obtener más información sobre contenciones, consulte la sección sobre tolerancia en la documentación ascendente de Kubernetes.
-
Valide el despliegue del módulo de Kubernetes.
olcnectl module instances --config-file myenvironment.yaml
Resultado de ejemplo:
[oracle@ocne-node01 ~]$ olcnectl module instances --config-file myenvironment.yaml INSTANCE MODULE STATE 10.0.0.140:8090 node installed mycluster kubernetes installed
Configuración de la herramienta de línea de comandos de Kubernetes y validación del entorno de Kubernetes
-
Configure el comando
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
-
Verifique que
kubectl
funciona.kubectl get nodes
Resultado de ejemplo:
[oracle@ocne-node01 ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION ocne-node01 Ready <none> 5m30s v1.22.8+1.el8
-
Obtenga una lista de los pods.
kubectl get pods -A
Resultado de ejemplo:
[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
La salida confirma que todo está activo y en ejecución correctamente y listo para desplegar las aplicaciones desarrolladas localmente en Oracle Cloud Native Environment para las pruebas.
Resumen
Obtener una versión compacta de Oracle Cloud Native Environment instalada es solo el inicio y es una herramienta útil para facilitar las pruebas y el desarrollo locales. Para obtener más ejemplos, consulte Ejecución de Kubernetes en Oracle Linux.
Para obtener más información
- Documentación de Oracle Cloud Native Environment
- Formación de Oracle Cloud Native Environment
- Oracle Learning Library
- Plan de estudios de Oracle Linux
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer y conviértase en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Run a Compact Oracle Cloud Native Environment
F59602-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.