- v1.12 (più recente)
- Versione 1.11
- Versione 1.10
- Elenco delle versioni supportate
- Versione 1.9
- Versione 1.8
- Versione 1.7
- Versione 1.6
- Versione 1.5
- Versione 1.4
- Versione 1.3
- Versione 1.2
- Versione 1.1
Versioni supportate:
Versioni non supportate:
Questo argomento è inteso solo come esempio. Spiega come ottenere un certificato TLS dall'autorità di certificazione (CA) Let's Encrypt. Questi passaggi sono forniti principalmente come esempio da seguire se non disponi di un altro modo pronto per ottenere una coppia certificato/chiave autorizzata da una CA. L'esempio mostra come generare certificati utilizzando la CA Let's Encrypt, il client Certbot e Cloud DNS della Google Cloud Platform.
Dove puoi utilizzare queste credenziali
Devi fornire le credenziali TLS per due gateway in entrata Istio esposti all'esterno del cluster:
Gateway | Requisito TLS |
---|---|
Gateway in entrata MART | Richiede una coppia di chiavi/certificati TLS autorizzati. |
Gateway in entrata di runtime | Puoi utilizzare una coppia di certificati/chiavi autofirmati o credenziali TLS autorizzate. |
Requisiti
- È necessario un nome di dominio ottenuto tramite un registrar di nomi di dominio. Puoi registrare un nome di dominio tramite Google Domains o un altro registrar di dominio a tua scelta.
Configura Cloud DNS
Per ottenere le credenziali TLS autorizzate, devi avere un nome di dominio qualificato. I passaggi seguenti spiegano come utilizzare Google Cloud DNS per ottenere un nome di dominio e gestire i server di dominio.- Apri la console Google Cloud e accedi con l'account creato nel Passaggio 1: crea un account Google Cloud.
- Seleziona il progetto che hai creato al Passaggio 2: crea un progetto Google Cloud.
- Abilita l'API DNS. Vedi Abilitazione delle API.
- Crea due indirizzi IP statici:
- Se utilizzi GKE, segui le istruzioni in
Prenotazione di un indirizzo IP esterno statico per creare
due indirizzi IP statici. Puoi assegnare agli indirizzi il nome che preferisci, ad esempio:
apigee-hybrid-mart
eapigee-hybrid-runtime
. Al termine, avrai due numeri IP da utilizzare nella configurazione del cluster nel passaggio successivo. Ad esempio:35.225.131.189
e34.66.75.196
- Se utilizzi Anthos GKE, segui le istruzioni nella documentazione di Anthos GKE per creare due indirizzi IP statici.
- Se utilizzi GKE, segui le istruzioni in
Prenotazione di un indirizzo IP esterno statico per creare
due indirizzi IP statici. Puoi assegnare agli indirizzi il nome che preferisci, ad esempio:
- Crea una zona pubblica gestita. Per le istruzioni, vedi Creare una zona pubblica gestita.
- Ottieni l'IP esterno che hai prenotato per
apigee-hybrid-mart
. - Crea un set di record per l'endpoint MART. Inserisci l'IP esterno ottenuto nel passaggio precedente e aggiungi un prefisso al nome di dominio, ad esempio
mart
. Per le istruzioni, consulta Creare un nuovo record. - Ottieni l'IP esterno che hai prenotato per
apigee-hybrid-runtime
. - Crea un set di record per l'endpoint in entrata Istio. Questo è l'indirizzo per effettuare chiamate API al gateway ibrido. Inserisci l'IP esterno ottenuto nel passaggio precedente e aggiungi un prefisso al nome di dominio, ad esempio
apitest
. Per le istruzioni, consulta Creare un nuovo record. - Copia i dati del record DNS, come mostrato nell'esempio seguente:
- Torna alla pagina del tuo dominio su Google Domains.
- Seleziona il tuo dominio.
- Seleziona DNS.
- Nella sezione Server dei nomi, fai clic su Modifica.
Inserisci i server dei nomi di dominio che hai copiato dalla pagina Cloud DNS di Network Services:
A questo punto, Google Cloud DNS gestirà i record DNS per il tuo dominio.
Installa Certbot su una VM
Ora che Cloud DNS è configurato per gestire i server di dominio, installerai il client Certbot con il plug-in dns_google su una VM Cloud. Il client ti consente di ottenere certificati autorizzati per il tuo dominio da un endpoint Let's Encrypt.
- Apri la console Google Cloud e accedi con l'account creato nel Passaggio 1: crea un account Google Cloud.
- Seleziona il progetto che hai creato al Passaggio 2: crea un progetto Google Cloud.
- Seleziona IAM e amministrazione > Account di servizio.
La visualizzazione Account di servizio mostra un elenco degli account di servizio del progetto.
- Per creare un nuovo account di servizio, fai clic su +Crea account di servizio nella parte superiore della visualizzazione.
Viene visualizzata la vista Dettagli account di servizio.
- Nel campo Nome account di servizio, inserisci il nome dell'account di servizio.
Facoltativamente, puoi aggiungere una descrizione nel campo Descrizione account di servizio. Le descrizioni sono utili per ricordarti per cosa viene utilizzato un determinato account di servizio.
- Fai clic su Crea.
Google Cloud crea un nuovo account di servizio e mostra la visualizzazione Autorizzazioni account di servizio. Utilizza questa visualizzazione per assegnare un ruolo al nuovo account di servizio.
- Fai clic sull'elenco a discesa Seleziona un ruolo.
- Seleziona il ruolo Proprietario progetto.
- Fai clic su Continua.
- Fai clic su Fine.
- Nella console di Google Cloud, seleziona Compute Engine > Istanze VM.
- Crea un'istanza VM denominata certmanager.
- Nella sezione Disco di avvio, scegli CentOS7 e 20 GB come unità permanente SSD.
- Imposta l'account di servizio su quello creato in precedenza.
- Installa Certbot e il plug-in dns_google sulla macchina ed esegui il client Certbot:
sudo su -
yum -y install yum-utils
yum install certbot -y
yum install certbot-dns-google -y
certbot certonly --dns-google -d *.your_domain_name,*.your_domain_name --server https://acme-v02.api.letsencrypt.org/directory
Ad esempio:
sudo su -
yum -y install yum-utils
yum install certbot -y
yum install certbot-dns-google -y
certbot certonly --dns-google -d *.apigee-hybrid-docs.net,*.apigee-hybrid-docs.net --server https://acme-v02.api.letsencrypt.org/directory
- Ora puoi trovare i file del tuo certificato autorizzato e della tua chiave privata in questa directory:
cd /etc/letsencrypt/live/your_domain_name/
Ad esempio:
cd /etc/letsencrypt/live/apigee-hybrid-docs.net
ls
cert.pem chain.pem fullchain.pem privkey.pem README - Copia i file
fullchain.pem
eprivkey.pem
sulla tua macchina locale. - Aggiorna il file di override in modo che punti al certificato e alla chiave privata. Per
hostAlias
, utilizza il nome DNS creato in precedenza.Ad esempio:
envs: - name: test sslCertPath: "$HOME/hybrid/apigee-hybrid-setup/tls/fullchain.pem" sslKeyPath: "$HOME/hybrid/apigee-hybrid-setup/tls/privkey.pem" hostAlias: "apitest.apigee-hybrid-docs.net" mart: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime sslCertPath: "$HOME/hybrid/apigee-hybrid-setup/tls/fullchain.pem" sslKeyPath: "$HOME/hybrid/apigee-hybrid-setup/tls/privkey.pem" replicaCountMin: 1 replicaCountMax: 1 hostAlias: "mart.apigee-hybrid-docs.net"
- Applica le modifiche:
Se hai cambiato la configurazione di
mart
, applica le modifiche:apigeectl apply -f your_overrides_file -c mart
Se hai cambiato la configurazione di
envs
, applica le modifiche:apigeectl apply -f your_overrides_file -c runtime
Testare la configurazione
Esegui il deployment e il test di un proxy, come spiegato in Creare e sottoporre a deployment un nuovo proxy API.