In diesem Schritt wird erläutert, wie Sie cert-manager und Anthos Service Mesh (ASM) herunterladen und installieren, das für die Verwendung von Apigee hybrid erforderlich ist.
Cert-manager installieren
Verwenden Sie einen der folgenden beiden Befehle, um cert-manager v0.14.2 auf GitHub zu installieren.
Verwenden Sie den Befehl kubectl version
, um die Kubernetes-Version zu ermitteln.
- Wenn Sie Kubernetes 1.15 oder höher haben:
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.14.2/cert-manager.yaml
- Kubernetes-Versionen vor 1.15:
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.14.2/cert-manager-legacy.yaml
In einer Antwort sollte angezeigt werden, dass der Namespace "cert-manager" und mehrere cert-manager-Ressourcen erstellt wurden.
ASM installieren
Apigee hybrid verwendet die mit Anthos Service Mesh (ASM) bereitgestellte Istio-Distribution. Führen Sie die folgenden Schritte aus, um ASM in Ihrem Cluster zu installieren.
Unterstützte ASM-Versionen
Für neue Installationen von Hybrid-Umgebungen installieren Sie ASM 1.6.x in Ihrem Cluster. Wenn Sie ein Upgrade von der Hybrid-Version 1.2.x durchführen, installieren Sie die ASM Version 1.5.x in Ihrem Cluster.
Einrichtungs- und Konfigurationsschritte für ASM ausführen
Um die ASM-Installation abzuschließen, müssen Sie zuerst die ASM-spezifischen Einrichtungs- und Konfigurationsschritte in der ASM-Dokumentation befolgen. Anschließend müssen Sie hierher zurückkehren, um die Hybrid-Konfiguration abzuschließen, bevor Sie die Konfiguration auf den Cluster anwenden.
- Folgen Sie den Schritten zur Einrichtung und Konfiguration von ASM:
- Bei einer neuen Installation von Apigee Hybrid installieren Sie die ASM Version 1.6.x. Weitere Informationen finden Sie unter Einführung in die Installation und Migration.
- Verwenden Sie ASM 1.5.x, wenn Sie ein Upgrade von einer früheren Hybrid-Version durchführen. Wechseln Sie zu Anthos Service Mesh auf einem vorhandenen Cluster installieren.
Nachdem Sie die Einrichtungs- und Konfigurationsschritte für ASM abgeschlossen haben, fahren Sie mit dem nächsten Abschnitt fort, um die Schritte zur Hybridkonfiguration und ASM-Installation abzuschließen.
Abschließende Hybridkonfiguration ausführen und ASM installieren
Fügen Sie der istio-operator.yaml
-Datei anschließend Hybrid-spezifische Konfigurationen hinzu und installieren Sie ASM.
-
Achten Sie darauf, dass Sie sich im Stammverzeichnis der ASM-Installation befinden.
Beispiel:
1.6.11-asm.1
. - Öffnen Sie die Datei
./asm/cluster/istio-operator.yaml
in einem Editor. - Fügen Sie unter
spec.meshConfig:
die folgenden Zeilen hinzu:Zu kopierender Text
# This disables Istio from configuring workloads for mTLS if TLSSettings are not specified. 1.4 defaulted to false. enableAutoMtls: false accessLogFile: "/dev/stdout" accessLogEncoding: 1 # This is Apigee's custom access log format. Changes should not be made to this # unless first working with the Data and AX teams as they parse these logs for # SLOs. accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
Beispiel für eine Platzierung
Zeilenumbrüche wurden zur besseren Lesbarkeit eingefügt
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator metadata: clusterName: "hybrid-example/us-central1/example-cluster" # {"$ref":"#/definitions/io.k8s.cli.substitutions.cluster-name"} spec: profile: asm hub: gcr.io/gke-release/asm # {"$ref":"#/definitions/io.k8s.cli.setters.anthos.servicemesh.hub"} tag: 1.5.7-asm.0 # {"$ref":"#/definitions/io.k8s.cli.setters.anthos.servicemesh.tag"} meshConfig: # This disables Istio from configuring workloads for mTLS if TLSSettings are not specified. # 1.4 defaulted to false. enableAutoMtls: false accessLogFile: "/dev/stdout" accessLogEncoding: 1 # This is Apigee's custom access log format. Changes should not be made to this # unless first working with the Data and AX teams as they parse these logs for # SLOs. accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE _ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(: METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RE SPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIV ED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response _flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_serv ice_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER% ","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_ path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol ":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_S ERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' defaultConfig: proxyMetadata: GCP_METADATA: "hybrid-example|123456789123|example-cluster|us-central1" # {"$ref":"#/definitions/io.k8s.cli.substitutions.gke-metadata"}
- Fügen Sie die
spec:components
-Stanza in der Dateiistio-operator.yaml
unterhalb des AbschnittsmeshConfig:
und unmittelbar übervalues:
hinzu bzw. aktualisieren Sie sie. Dabei ist reserved_static_ip die von Ihnen reservierte IP-Adresse für den Laufzeit-Ingress-Gateway in Projekt- und Organisationseinrichtung – Schritt 5: Cloud DNS konfigurieren.Zu kopierender Text
ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer loadBalancerIP: reserved_static_ip ports: - name: status-port port: 15020 targetPort: 15020 - name: http2 port: 80 targetPort: 80 - name: https port: 443 - name: prometheus port: 15030 targetPort: 15030 - name: tcp port: 31400 targetPort: 31400 - name: tls port: 15443 targetPort: 15443
Beispiel für eine Platzierung
Zeilenumbrüche wurden zur besseren Lesbarkeit eingefügt
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator metadata: clusterName: "hybrid-example/us-central1/example-cluster" # {"$ref":"#/definitions/io.k8s.cli.substitutions.cluster-name"} spec: profile: asm hub: gcr.io/gke-release/asm # {"$ref":"#/definitions/io.k8s.cli.setters.anthos.servicemesh.hub"} tag: 1.5.7-asm.0 # {"$ref":"#/definitions/io.k8s.cli.setters.anthos.servicemesh.tag"} meshConfig: # This disables Istio from configuring workloads for mTLS if TLSSettings are not specified. # 1.4 defaulted to false. enableAutoMtls: false accessLogFile: "/dev/stdout" accessLogEncoding: 1 # This is Apigee's custom access log format. Changes should not be made to this # unless first working with the Data and AX teams as they parse these logs for # SLOs. accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE _ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(: METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RE SPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIV ED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response _flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_serv ice_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER% ","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_ path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol ":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_S ERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' defaultConfig: proxyMetadata: GCP_METADATA: "hybrid-example|123456789123|example-cluster|us-central1" # {"$ref":"#/definitions/io.k8s.cli.substitutions.gke-metadata"} components: pilot: k8s: hpaSpec: maxReplicas: 2 ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer loadBalancerIP: 123.234.56.78 ports: - name: status-port port: 15020 targetPort: 15020 - name: http2 port: 80 targetPort: 80 - name: https port: 443 - name: prometheus port: 15030 targetPort: 15030 - name: tcp port: 31400 targetPort: 31400 - name: tls port: 15443 targetPort: 15443 hpaSpec: maxReplicas: 2 values: . . .
- Kehren Sie zu der zuvor verwendeten ASM-Dokumentation zurück und schließen Sie die ASM-Installation ab. Installieren oder wenden Sie die Datei
istio-operator.yaml
auf den Cluster an. Wenn Sie eine Auswahl haben, wählen Sie PERMISSIVE mTLS aus.
Zusammenfassung
Sie haben nun cert-manager und ASM installiert und können jetzt das Apigee Hybrid-Befehlszeilentool auf Ihrem lokalen Computer installieren.
1 2 (WEITER) Schritt 3: Apigeectl installieren 4 5