Containerisierte Anwendungen bereitstellen
Auf Compute Cloud@Customer können Sie ein Anwendungs-Deployment bereitstellen, sodass Worker-Knotenanwendungen von außerhalb der Infrastruktur erreicht werden können.
Gehen Sie wie folgt vor, um Worker-Knotenanwendungen außerhalb der Infrastruktur bereitzustellen:
-
Externen Load Balancer erstellen
-
Aktualisieren Sie die Ingress- und Egress-Regeln nach Bedarf, um die Portanforderungen der containerisierten Anwendungen zu unterstützen. Beispiel: Wenn eine Anwendung TCP-Port 3000 verwendet, muss eine Ingress-Regel mit Port 3000 hinzugefügt werden.
Externen Load Balancer erstellen
Ein externer Load Balancer ist ein Service vom Typ LoadBalancer. Der Service bietet Load Balancing für eine Anwendung mit mehreren ausgeführten Instanzen.
Wenn Sie die Optionen --service-lb-defined-tags oder --service-lb-flexible-tags verwenden, um Tags anzugeben, die auf externe Load Balancer angewendet werden sollen, stellen Sie sicher, dass die anwendbare dynamische Gruppe die folgende Policy enthält. Siehe Dynamische Clustergruppe und Policys erstellen.
allow dynamic-group dynamic-group-name to use tag-namespaces in compartment compartment-name
Stellen Sie sicher, dass der Load-Balancer-Ausprägungsparameter einen der folgenden Werte aufweist:
-
400Mbps -
flexible: Sie müssen auch die Annotationenflex-minundflex-maxangeben.
Möglicherweise müssen Sie die Anwendungs-Deployment-Datei bearbeiten, um den Load-Balancer-Ausprägungswert zu ändern. Weitere Informationen und Beispiele zum Festlegen dieser Werte finden Sie unter Alternative Load-Balancer-Ausprägungen angeben und Flexible Load-Balancer-Ausprägungen angeben.
Um einen Service-Load Balancer in einem privaten Cluster (ein Cluster mit einem privaten Worker-Load-Balancer-Subnetz) zu erstellen, verwenden Sie die folgende Annotation in der externen Load-Balancer-Vorlage:
service.beta.kubernetes.io/oci-load-balancer-internal: "true"
Mit dem folgenden Befehl können Sie den externen Load Balancer erstellen:
# kubectl create -f expose_lbDer Inhalt der Datei expose_lb lautet wie folgt:
apiVersion: v1
kind: Service
metadata:
name: my-nginx-svc
labels:
app: nginx
annotations:
oci.oraclecloud.com/load-balancer-type: "lb"
service.beta.kubernetes.io/oci-load-balancer-shape: "400Mbps"
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: nginxMit dem folgenden Befehl werden weitere Informationen zu diesem externen Load Balancer angezeigt. Die Ingress-IP-Adresse LoadBalancer ist die IP-Adresse, mit der Knotenanwendungen von außerhalb von Compute Cloud@Customer erreicht werden. In der Konsole wird die Ingress-IP-Adresse LoadBalancer unter der Überschrift "IP-Adresse" unten in der ersten Spalte der Detailseite des Load Balancers angezeigt, gefolgt vom Label "(Öffentlich")."
# kubectl describe svc my-nginx-svc
Name: my-nginx-svc
Namespace: default
Labels: app=nginx
Annotations: oci.oraclecloud.com/load-balancer-type: lb
service.beta.kubernetes.io/oci-load-balancer-shape: 400Mbps
Selector: app=nginx
Type: LoadBalancer
IP Family Policy: SingleStack
IP Families: IPv4
IP: IP_address
IPs: IP_address
LoadBalancer Ingress: Load_Balancer_IP_address
Port: <unset> 80/TCP
TargetPort: 80/TCP
NodePort: <unset> 32145/TCP
Endpoints: IP_address:port, IP_address+1:port, IP_address+2:port
Session Affinity: None
External Traffic Policy: Cluster
Events:
Type Reason Age From Message
----
Normal EnsuringLoadBalancer 7m48s service-controller Ensuring load balancer
Normal EnsuredLoadBalancer 6m40s service-controller Ensured load balancerEine Beschreibung der Traffic-Policys finden Sie unter Clientquell-IP reservieren.
Mit dem folgenden Befehl können Sie IP-Adressen und Ports für den externen Load Balancer auflisten:
# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP IP_address <none> 443/TCP 6h17m
my-nginx-svc LoadBalancer IP_address
Load_Balancer_IP_address 80:32145/TCP 5h5mWas kommt als Nächstes: