Note :
- Ce tutoriel est disponible dans un environnement de laboratoire gratuit fourni par Oracle.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Créer un environnement Oracle Cloud Native Environment à partir de la source
Présentation
L'interface de ligne de commande (CLI) d'Oracle Cloud Native Environment (Oracle CNE) gère le cycle de vie de la grappe Kubernetes dans votre organisation. Il s'agit également d'un projet à code source libre disponible sur GitHub. Ce tutoriel explique comment créer vous-même l'exécutable ocne
.
Pour plus d'informations sur Oracle Cloud Native Environment 2, veuillez consulter la documentation de version actuelle.
Objectifs
Dans ce tutoriel, vous apprendrez à :
- Configurer l'environnement de compilation
- Créer l'exécutable
ocne
- Démarrer une grappe Kubernetes avec l'exécutable résultant
Préalables
-
Minimum d'une instance Oracle Linux
-
Oracle Linux doit être installé et configuré pour chaque système avec :
- Un compte utilisateur Oracle (utilisé pendant l'installation) avec accès sudo
- SSH basé sur une clé, également appelé SSH sans mot de passe, entre les hôtes
- Environnement libvirt KVM fonctionnel.
Configurer l'environnement Oracle Cloud Native Environment
Note : Si vous exécutez votre propre location, lisez les préalables du projet linux-virt-labs
GitHub README.md et remplissez les conditions requises avant de déployer l'environnement de laboratoire.
-
Ouvrez un terminal sur le Luna Desktop.
-
Clonez le projet
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Accédez au répertoire de travail.
cd linux-virt-labs/ocne2
-
Installez les collections requises.
ansible-galaxy collection install -r requirements.yml
-
Déployez l'environnement de l'exercice.
ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e ocne_type=libvirt
L'environnement de laboratoire gratuit nécessite la variable supplémentaire
local_python_interpreter
, qui définitansible_python_interpreter
pour les lectures exécutées sur localhost. Cette variable est nécessaire car l'environnement installe l'ensemble RPM pour la trousse SDK Oracle Cloud Infrastructure pour Python, située sous les modules python3.6.La forme de déploiement par défaut utilise le processeur AMD et Oracle Linux 8. Pour utiliser une unité centrale Intel ou Oracle Linux 9, ajoutez
-e instance_shape="VM.Standard3.Flex"
ou-e os_version="9"
à la commande de déploiement.Important : Attendez que le livre de jeu s'exécute avec succès et atteignez la tâche Mettre en pause. À ce stade du livre de jeu, l'installation d'Oracle Cloud Native Environment est terminée et les instances sont prêtes. Prenez note de la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'il déploie et toutes les autres informations de déploiement nécessaires lors de l'exécution de l'exercice.
Installer les préalables
-
Ouvrez un terminal et connectez-vous au moyen de SSH à l'instance ocne.
ssh oracle@<ip_address_of_instance>
-
Installer Git.
sudo dnf install git -y
-
Cloner le référentiel CNE Oracle.
git clone https://github.com/oracle-cne/ocne.git
-
Accédez au répertoire de travail.
cd ocne
-
Répertorier les ensembles Oracle Cloud Native Environment disponibles.
sudo dnf search ocne
Exemple de sortie :
[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
-
Installez le package du référentiel.
Oracle Linux 8
sudo dnf install -y oracle-ocne-release-el8
Oracle Linux 9
sudo dnf install -y oracle-ocne-release-el9
-
Activez le référentiel.
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
-
Activez le référentiel Prêt pour le codage.
Le référentiel CodeReady fournit de nombreux ensembles et outils permettant aux développeurs de créer et d'encapsuler des applications.
Oracle Linux 8
sudo dnf config-manager --enable ol8_codeready_builder
Oracle Linux 9
sudo dnf config-manager --enable ol9_codeready_builder
-
Vérifiez que les référentiels sont activés.
sudo dnf repolist
-
Mettre à jour l'exigence Helm pour Oracle Linux 9.
Oracle Linux 8
Facultatif.
Oracle Linux 9
sed -i 's/3.13.0/3.12.0/' buildrpm/ocne.spec
-
Installez les préalables.
sudo yum-builddep buildrpm/ocne.spec -y
Exemple de sortie :
[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
Créer l'exécutable
-
Vérifiez les options disponibles.
make
Exemple de sortie :
[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
-
Créez l'exécutable.
make build-cli
Exemple de sortie :
[oracle@ocne ocne]$ make build-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=be1686eb469d885d293df74d6b5232f576fcdae8' -X 'github.com/oracle-cne/ocne/cmd/info.buildDate=2025-05-20T09:14:21Z' -X 'github.com/oracle-cne/ocne/cmd/info.cliVersion=2.1.2-5.el8'" -o out/linux_amd64 ./...
-
Vérifiez que l'exécutable est présent.
ls -al out/linux_amd64/
Exemple de sortie :
[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
-
Vérifiez que cela fonctionne.
out/linux_amd64/ocne info
Exemple de sortie :
[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.
Notez les valeurs Version et BuildDate. La version reflète la dernière version sous Principal et BuildDate reflète la date et l'heure de création de l'exécutable
ocne
.
Créer une grappe de noeuds unique
-
Créer une grappe Oracle Cloud Native Environment à noeud unique.
out/linux_amd64/ocne cluster start
Selon les ressources disponibles de votre machine, la création de la grappe peut prendre plusieurs minutes pendant qu'elle télécharge la source de l'image et la configure.
Une fois terminé, entrez
y
pour terminer l'installation et retournez à l'invite de commande. Ignorez le reste des étapes post-installation et passez à l'étape suivante.Exemple de sortie :
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
-
Installer l'outil de ligne de commande Kubernetes (kubectl)
sudo dnf install -y kubectl
-
Configurez kubectl pour utiliser la grappe nouvellement créée.
export KUBECONFIG=$HOME/.kube/kubeconfig.ocne.local
-
Vérifiez que le cluster se compose d'un seul noeud.
kubectl get nodes --all-namespaces
Exemple de sortie :
[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
-
Vérifiez que le déploiement de la grappe a réussi.
kubectl get deployments --all-namespaces
Exemple de sortie :
[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
-
Répertorier tous les pods déployés.
kubectl get pods --all-namespaces
Exemple de sortie :
[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
Cette sortie confirme que vous avez créé
ocne
à partir du code source et créé une nouvelle grappe Kubernetes.
prochaines étapes
Ce tutoriel a démontré comment créer l'interface de ligne de commande Oracle CNE à partir du code source sur GitHub, ce qui est utile pour les tests locaux. Cependant, ce n'est que le début. Consultez la station de formation Oracle Linux pour obtenir des tutoriels et du contenu supplémentaires.
Liens connexes
- Documentation sur Oracle Cloud Native Environment
- Parcours Environnement natif Oracle Cloud
- Parcours d'apprentissage pour Oracle Linux
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Build Oracle Cloud Native Environment from Source
G33044-02
Copyright ©2025, Oracle and/or its affiliates.