Nota:
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Distribuire la soluzione di monitoraggio su cluster OKE privati utilizzando Oracle Cloud Infrastructure Resource Manager
Introduzione
Oracle Cloud offre una soluzione di monitoraggio complementare per le implementazioni di Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), utilizzando Oracle Cloud Infrastructure (OCI) Logging Analytics. Questa soluzione è disponibile nella documentazione e può essere implementata come distribuzione di Resource Manager Terraform disponibile su GitHub. Tuttavia, questa soluzione viene destinata ai cluster OKE con gli endpoint delle API pubbliche.
Se si tenta la stessa distribuzione su un cluster OKE privato, la distribuzione non riesce a causa di problemi di connettività di rete, poiché i job di Resource Manager OCI vengono eseguiti in una tenancy del servizio. In questa situazione è possibile utilizzare gli endpoint privati di Resource Manager OCI, ma è necessario apportare alcune modifiche al codice Terraform per poter eseguire la distribuzione di Helm.

Obiettivi
Supponendo di aver già creato un cluster OKE privato (tutti i componenti cluster posizionati in subnet private), a questo punto la distribuzione della soluzione Logging Analytics sopra riportata tramite OCI Resource Manager non riuscirà con il seguente errore:
Error: Kubernetes cluster unreachable: Get "https://192.0.2.1:6443/version": dial tcp 192.0.2.1:6443: i/o timeout
with module.helm_release.helm_release.oci-kubernetes-monitoring[0],
on modules/helm/helm.tf line 11, in resource "helm_release" "oci-kubernetes-monitoring"
11: resource "helm_release" "oci-kubernetes-monitoring"
In questo caso, l'IP 192.0.2.1 è l'IP dell'endpoint privato OKE non raggiungibile da Resource Manager OCI.
Per superare questo problema, è necessario effettuare le seguenti operazioni supplementari:
- Crea l'endpoint privato di OCI Resource Manager. Questo endpoint privato creerà la connessione al cluster.
- Aggiungere una regola di entrata per l'IP di classe E specifico dell'endpoint privato di OCI Resource Manager alla lista di sicurezza della subnet privata dell'endpoint API OKE.
- Usare l'endpoint nel codice Terraform in Resource Manager OCI.
- Risolvi l'errore dei certificati successivi visualizzato come effetto collaterale di queste modifiche
Prerequisiti
- Conoscenza di base di OKE, OCI Resource Manager e OCI Networking.
- Informazioni su Terraform.
- Privilegi utente per la creazione e l'accesso alle risorse di Resource Manager e di rete OCI.
Task 1: Crea endpoint privato di Resource Manager
Per questo task, puoi seguire questi passi per creare un nuovo endpoint privato per Resource Manager OCI dalla console OCI. Assicurarsi di selezionare la VCN e la subnet dell'endpoint API privato del cluster OKE.
In questo modo, il cluster OKE viene mappato a questo endpoint privato di Resource Manager OCI, ma non è ancora raggiungibile dall'esterno.

Task 2: aggiungere una regola di entrata nella lista di sicurezza della subnet privata

Aggiungere una regola di entrata alla lista di sicurezza della subnet dell'endpoint API privato per consentire il traffico dall'endpoint privato di OCI Resource Manager. L'IP raggiungibile dell'endpoint privato di Resource Manager OCI è un IP di classe E, pertanto il CIDR 240.0.0.0/4 coprirà questo aspetto.
Assicurati di controllare le altre regole, l'entrata e l'uscita, siano conformi ai suggerimenti OCI.
Task 3: apportare modifiche al codice Terraform
Per utilizzare questo nuovo IP raggiungibile dell'endpoint privato creato nei passi precedenti, è necessario modificare il file /modules/helm/provider.tf dallo stack.
Includere il blocco di origine dati riportato di seguito che fornisce l'indirizzo IP raggiungibile alternativo della risorsa privata. Questo IP verrà utilizzato dal servizio Resource Manager OCI per connettersi alla risorsa privata.
data "oci_resourcemanager_private_endpoint_reachable_ip" "test_private_endpoint_reachable_ip" {
#Required
private_endpoint_id = "ocid1.ormprivateendpoint.oc1....."
private_ip = "192.0.2.1"
}
locals {
// following locals are set as "place-holder" when user opts out of helm release
cluster_endpoint = "https://${data.oci_resourcemanager_private_endpoint_reachable_ip.test_private_endpoint_reachable_ip.ip_address}:6443"
...
}
Task 4: Errore risoluzione certificati
Dopo le modifiche precedenti, l'applicazione del codice farà avanzare, ma in seguito non riuscirà a causa del certificato TLS dell'endpoint API, poiché l'indirizzo IP raggiungibile dell'endpoint privato OKE non è incluso nel certificato OKE.
module.helm_release.helm_release.oci-kubernetes-monitoring[0]: Creating...
Error: Kubernetes cluster unreachable: Get "https://255.x.y.0:6443/version": x509: certificate is valid for 192.0.2.1, 192.0.2.2, 192.0.2.3, 127.0.0.1, not 255.x.y.0
Ciò può essere evitato eliminando la verifica del certificato dal codice con le seguenti due impostazioni:
-
commentare o eliminare o impostare il parametro riportato di seguito su vuoto nello stesso file provider.tf:
# cluster_ca_certificate = local.cluster_ca_certificate -
Aggiungere la riga seguente.
insecure = true
Collegamenti correlati
-
Monitora i cluster Kubernetes e OKE con OCI Logging Analytics
-
Configurazione delle risorse di rete per la creazione e la distribuzione del cluster
Approvazioni
- Adina Nicolescu (senior Cloud Engineer), Andrei Ilas (Principal Cloud Architect)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Explorer di Oracle Learning.
Per la documentazione sul prodotto, visitare il sito Oracle Help Center.
Deploy Monitoring Solution to Private OKE Clusters Using Oracle Cloud Infrastructure Resource Manager
F83051-01
July 2023
Copyright © 2023, Oracle and/or its affiliates.