Hinweis:
- Dieses Tutorial ist in einer von Oracle bereitgestellten kostenlosen Übungsumgebung verfügbar.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Oracle Cloud Native Environment aus der Quelle erstellen
Einführung
Die Oracle Cloud Native Environment-(Oracle CNE-)Befehlszeilenschnittstelle (CLI) verwaltet den Lebenszyklus des Kubernetes-Clusters in Ihrer Organisation. Es handelt sich auch um ein Open Source-Projekt, das unter GitHub verfügbar ist. Dieses Tutorial zeigt, wie Sie die ausführbare Datei ocne
selbst erstellen.
Weitere Informationen zu Oracle Cloud Native Environment 2 finden Sie auf der aktuellen Site für die Releasedokumentation.
Ziele
In diesem Tutorial lernen Sie Folgendes:
- Build-Umgebung konfigurieren
- Erstellen Sie die ausführbare Datei
ocne
. - Starten Sie ein Kubernetes-Cluster mit der resultierenden ausführbaren Datei
Voraussetzungen
-
Mindestens eine Oracle Linux-Instanz
-
Auf jedem System muss Oracle Linux installiert und konfiguriert sein mit:
- Ein Oracle-Benutzerkonto (wird bei der Installation verwendet) mit Sudo-Zugriff
- Schlüsselbasiertes SSH (auch als passwortloses SSH bezeichnet) zwischen den Hosts
- Eine funktionierende KVM-Libvirt-Umgebung.
Oracle Cloud Native Environment konfigurieren
Hinweis: Wenn Sie in Ihrem eigenen Mandanten ausgeführt werden, lesen Sie das Projekt linux-virt-labs
GitHub README.md, und schließen Sie die Voraussetzungen ab, bevor Sie die Übungsumgebung bereitstellen.
-
Öffnen Sie ein Terminal auf dem Luna Desktop.
-
Klonen Sie das Projekt
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Wechseln Sie in das Arbeitsverzeichnis.
cd linux-virt-labs/ocne2
-
Installieren Sie die erforderlichen Collections.
ansible-galaxy collection install -r requirements.yml
-
Stellen Sie die Übungsumgebung bereit.
ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e ocne_type=libvirt
Die kostenlose Übungsumgebung erfordert die zusätzliche Variable
local_python_interpreter
, dieansible_python_interpreter
für Wiedergaben festlegt, die auf localhost ausgeführt werden. Diese Variable ist erforderlich, da die Umgebung das RPM-Package für das Oracle Cloud Infrastructure-SDK für Python installiert, das sich unter den python3.6-Modulen befindet.Die Standard-Deployment-Ausprägung verwendet die AMD-CPU und Oracle Linux 8. Um eine Intel-CPU oder Oracle Linux 9 zu verwenden, fügen Sie dem Deployment-Befehl
-e instance_shape="VM.Standard3.Flex"
oder-e os_version="9"
hinzu.Wichtig: Warten Sie, bis die Arbeitsmappe erfolgreich ausgeführt wurde, und erreichen Sie die Aufgabe "Unterbrechen". In dieser Phase des Handbuchs ist die Installation von Oracle Cloud Native Environment abgeschlossen, und die Instanzen sind bereit. Beachten Sie die vorherige Wiedergabe, in der die öffentlichen und privaten IP-Adressen der bereitgestellten Knoten sowie alle anderen Deployment-Informationen gedruckt werden, die während der Ausführung der Übung benötigt werden.
Voraussetzungen installieren
-
Öffnen Sie ein Terminal, und stellen Sie über SSH eine Verbindung zur ocne-Instanz her.
ssh oracle@<ip_address_of_instance>
-
Git installieren.
sudo dnf install git -y
-
Klonen Sie das Oracle CNE-Repository.
git clone https://github.com/oracle-cne/ocne.git
-
Wechseln Sie in das Arbeitsverzeichnis.
cd ocne
-
Listen Sie die verfügbaren Oracle Cloud Native Environment-Packages auf.
sudo dnf search ocne
Beispielausgabe:
[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
-
Installieren Sie das Repository-Paket.
Oracle Linux 8
sudo dnf install -y oracle-ocne-release-el8
Oracle Linux 9
sudo dnf install -y oracle-ocne-release-el9
-
Aktivieren Sie das Repository.
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
-
Aktivieren Sie das Codeready-Repository.
Das Repository CodeReady bietet Entwicklern zahlreiche Packages und Tools zum Erstellen und Packen von Anwendungen.
Oracle Linux 8
sudo dnf config-manager --enable ol8_codeready_builder
Oracle Linux 9
sudo dnf config-manager --enable ol9_codeready_builder
-
Vergewissern Sie sich, dass die Repositorys aktiviert sind.
sudo dnf repolist
-
Aktualisieren Sie die Helm-Anforderung für Oracle Linux 9.
Oracle Linux 8
Kein Pflichtfeld.
Oracle Linux 9
sed -i 's/3.13.0/3.12.0/' buildrpm/ocne.spec
-
Installieren Sie die Voraussetzungen.
sudo yum-builddep buildrpm/ocne.spec -y
Beispielausgabe:
[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
Ausführbares Programm erstellen
-
Prüfen Sie die verfügbaren Optionen.
make
Beispielausgabe:
[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
-
Erstellen Sie die ausführbare Datei.
make build-cli
Beispielausgabe:
[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 ./...
-
Prüfen Sie, ob die ausführbare Datei vorhanden ist.
ls -al out/linux_amd64/
Beispielausgabe:
[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
-
Bestätigen Sie, dass es funktioniert.
out/linux_amd64/ocne info
Beispielausgabe:
[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.
Beachten Sie die Werte für Version und BuildDate. Die Version spiegelt die neueste Version im Haupt wider, und BuildDate gibt das Datum und die Uhrzeit an, zu dem Sie die ausführbare Datei
ocne
erstellt haben.
Einzelknotencluster erstellen
-
Erstellen Sie ein Oracle Cloud Native Environment-Cluster mit einem einzelnen Knoten.
out/linux_amd64/ocne cluster start
Je nach den verfügbaren Ressourcen Ihres Rechners kann die Erstellung des Clusters einige Minuten dauern, während die Imagequelle heruntergeladen und eingerichtet wird.
Nachdem Sie die Installation abgeschlossen haben, geben Sie
y
ein, um zur Eingabeaufforderung zurückzukehren. Ignorieren Sie die restlichen Schritte nach der Installation, und fahren Sie mit dem nächsten Schritt fort.Beispielausgabe:
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
-
Installieren Sie das Kubernetes-Befehlszeilentool (kubectl)
sudo dnf install -y kubectl
-
Konfigurieren Sie kubectl so, dass das neu erstellte Cluster verwendet wird.
export KUBECONFIG=$HOME/.kube/kubeconfig.ocne.local
-
Vergewissern Sie sich, dass das Cluster nur aus einem Knoten besteht.
kubectl get nodes --all-namespaces
Beispielausgabe:
[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
-
Bestätigen Sie das erfolgreiche Deployment des Clusters.
kubectl get deployments --all-namespaces
Beispielausgabe:
[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
-
Listen Sie alle bereitgestellten Pods auf.
kubectl get pods --all-namespaces
Beispielausgabe:
[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
Diese Ausgabe bestätigt, dass Sie
ocne
erfolgreich aus dem Quellcode erstellt und ein neues Kubernetes-Cluster erstellt haben.
Nächste Schritte
In diesem Tutorial wurde gezeigt, wie Sie die Oracle CNE-CLI aus dem Quellcode auf GitHub erstellen, was für lokale Tests hilfreich ist. Dies ist jedoch nur der Anfang. Weitere Tutorials und Inhalte finden Sie in der Oracle Linux Training Station.
Verwandte Links
- Oracle Cloud Native Environment-Dokumentation
- Oracle Cloud Native Environment-Track
- Oracle Linux-Schulungsstation
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Build Oracle Cloud Native Environment from Source
G33042-01
Copyright ©2025, Oracle and/or its affiliates.