48
NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch Geändert am 18. Juli 2018 VMware NSX-T 2.2.1 VMware NSX-T Data Center 2.2

NSX-T Container Plug-In für OpenShift – Installations- und ... fileNSX-T Container Plug-in (NCP) stellt eine Integration zwischen NSX-T und der Container-Orchestrierung wie z. B

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

NSX-T Container Plug-Infür OpenShift –Installations- undAdministratorhandbuchGeändert am 18. Juli 2018VMware NSX-T 2.2.1VMware NSX-T Data Center 2.2

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 2

Die aktuellste technische Dokumentation finden Sie auf der VMware-Website unter:

https://docs.vmware.com/de/

Die VMware-Website enthält auch die neuesten Produkt-Updates.

Falls Sie Anmerkungen zu dieser Dokumentation haben, senden Sie diese an:

[email protected]

Copyright © 2017, 2018 VMware, Inc. Alle Rechte vorbehalten. Urheberrechts- und Markenhinweise.

VMware, Inc.3401 Hillview Ave.Palo Alto, CA 94304www.vmware.com

VMware Global, Inc.Zweigniederlassung DeutschlandWilly-Brandt-Platz 281829 MünchenGermanyTel.: +49 (0) 89 3706 17 000Fax: +49 (0) 89 3706 17 333www.vmware.com/de

Inhalt

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch 4

1 Übersicht über das NSX-T Container Plug-In 5

Kompatibilitätsanforderungen 6

Überblick über die Installation 6

2 Einrichten von NSX-T-Ressourcen 8

Konfigurieren von NSX-T-Ressourcen 8

Erstellen und Konfigurieren eines logischen Tier-0-Routers 11

3 Einrichten des NSX-T Container Plug-Ins und von OpenShift 13

Bereitstellen von OpenShift-VMs 13

Vorbereiten der Ansible-Hostdatei 13

Installieren von NCP und OpenShift mit einem einzelnen Playbook 16

Installieren von CNI-Plug-In, OVS und NCP-Docker-Image 16

Installieren von OpenShift Container Platform 19

Ausführen des NCP- und NSX-Knotenagenten 19

Hinweise zur Einrichtung 20

4 Lastausgleich 24

Konfigurieren des Lastausgleichs 24

5 Verwalten von NSX-T Container Plug-in 30

Verwalten von IP-Blöcken über die NSX Manager -GUI 30

Verwalten von IP-Block-Subnetzen über die GUI von NSX Manager 31

CIF-verknüpfte logische Ports 31

CLI-Befehle 32

Fehlercodes 43

VMware, Inc. 3

NSX-T Container Plug-In für OpenShift –Installations- und Administratorhandbuch

Dieses Handbuch beschreibt die Installation und Verwaltung von NSX-T Container Plug-in (NCP) für dieBereitstellung der Integration zwischen NSX-T und OpenShift.

ZielgruppeDieses Handbuch ist für die System-und Netzwerkadministratoren bestimmt. Es wird vorausgesetzt, dassSie mit der Installation und Verwaltung von NSX-T und OpenShift vertraut sind.

VMware Technical Publications – GlossarVMware Technical Publications enthält ein Glossar mit Begriffen, die Ihnen möglicherweise unbekanntsind. Definitionen von Begriffen, die in der technischen Dokumentation von VMware verwendet werden,finden Sie unter http://www.vmware.com/support/pubs.

VMware, Inc. 4

Übersicht über das NSX-TContainer Plug-In 1NSX-T Container Plug-in (NCP) stellt eine Integration zwischen NSX-T und der Container-Orchestrierungwie z. B. Kubernetes sowie die Integration zwischen NSX-T und Container-basierten PaaS-Softwarepro-dukten (Plattform als Dienst), wie z. B. OpenShift, bereit. Dieses Handbuch beschreibt das Einrichten vonNCP mit OpenShift.

Die Hauptkomponente von NCP wird in einem Container ausgeführt und kommuniziert mit NSX Managerund mit der OpenShift-Steuerungsebene. NCP überwacht Änderungen an den Containern und anderenRessourcen und verwaltet Netzwerkressourcen wie logische Ports, Switches, Router und Sicherheits-gruppen für die Container per Aufruf der NSX API.

Das NSX CNI-Plugin wird auf jedem OpenShift-Knoten ausgeführt. Es überwacht Ereignisse im Contai-ner-Lebenszyklus, verbindet eine Containerschnittstelle mit dem Gast-vSwitch und programmiert denGast-vSwitch für die Kennzeichnung und Weiterleitung des Containerdatenverkehrs zwischen den Con-tainerschnittstellen und der VNIC.

NCP bietet die folgenden Funktionen:

n Es erstellt automatisch eine logische NSX-T-Topologie für einen OpenShift-Cluster und erstellt ein se-parates logisches Netzwerk für jeden OpenShift-Namespace.

n Es verbindet OpenShift-Pods mit dem logischen Netzwerk und weist IP- und MAC-Adressen zu.

n Es unterstützt Netzwerkadressübersetzung (Network Address Translation – NAT) und weist eine se-parate SNAT-IP für jeden OpenShift-Namespace zu.

Hinweis Bei der Konfiguration von NAT darf die Gesamtzahl der übersetzten IPs 1000 nicht über-schreiten.

n Es implementiert OpenShift-Netzwerkrichtlinien mit verteilter NSX-T-Firewall.

n Unterstützung für Ingress- und Egress-Netzwerkrichtlinien.

n Unterstützung für IPBlock-Selektor in Netzwerkrichtlinien.

n Unterstützung für matchLabels und matchExpression beim Angeben von Bezeichnungsselek-toren für Netzwerkrichtlinien.

n Es implementiert eine OpenShift-Route mit NSX-T-Load Balancer der Schicht 7.

n Unterstützung für HTTP-Route und HTTPS-Route mit TLS-Edge-Beendigung.

VMware, Inc. 5

n Unterstützung für Routen mit alternativen Backends und Unterdomänen als Platzhalter.

n Es erstellt auf dem logischen NSX-T-Switch-Port Tags für den Namespace, den Pod-Namen und dieBezeichnungen eines Pods und lässt zu, dass der Administrator die NSX-T-Sicherheitsgruppen und -richtlinien basierend auf den Tags festlegt.

In dieser Version unterstützt NCP einen einzelnen OpenShift-Cluster.

Dieses Kapitel enthält die folgenden Themen:

n Kompatibilitätsanforderungen

n Überblick über die Installation

KompatibilitätsanforderungenNSX-T Container Plug-in (NCP) weist die folgenden Kompatibilitätsanforderungen auf.

Softwareprodukt Version

NSX-T 2.1, 2.2

Hypervisor für Container-Host-VMs n Unterstützte vSphere-Versionn RHEL KVM 7.4, 7.5

Container-Host-Betriebssystem RHEL 7.4, 7.5

Platform as a Service OpenShift 3.7, 3.9

Guest vSwitch OVS 2.8.1 (im Lieferumfang von NSX-T 2.1 enthalten), 2.9.1 (im Liefer-umfang von NSX-T 2.2 enthalten)

Überblick über die InstallationDas Installieren und Konfigurieren von NCP umfasst die folgenden Schritte. Zur erfolgreichen Durchfüh-rung der Schritte müssen Sie mit NSX-T sowie der Installation und Verwaltung von OpenShift vertrautsein.

1 Installieren Sie NSX-T.

2 Erstellen Sie eine Overlay-Transportzone.

3 Erstellen Sie einen logischen Overlay-Switch, und verbinden Sie die Knoten mit dem Switch.

4 Erstellen Sie einen logischen Tier-0-Router.

5 Erstellen Sie IP-Blöcke für die Pods.

6 Erstellen Sie IP-Pools für SNAT (Source Network Address Translation).

7 Stellen Sie OpenShift-VMs bereit.

8 Bereiten Sie die Ansible-Hostdatei vor.

9 (Option 1) Installieren Sie NCP und OpenShift mit einem einzelnen Playbook.

(Option 2) Installieren Sie CNI-Plug-In, OVS (Open vSwitch) und NCP-Docker-Image. Installieren Sieanschließend OpenShift Container Platform.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 6

10 Führen Sie NCP und den NSX-Knotenagent aus.

Die Schritte 2 bis 6 sind nicht erforderlich, wenn Sie NCP mit den bereitgestellten Playbooks installieren.Siehe Installieren von NCP und OpenShift mit einem einzelnen Playbook und Installieren von CNI-Plug-In, OVS und NCP-Docker-Image.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 7

Einrichten von NSX-T-Ressourcen 2Zum Bereitstellen der Netzwerkfunktionen für OpenShift-Knoten müssen NSX-T-Ressourcen erstellt wer-den. Sie können diese Ressourcen manuell über die NSX Manager-GUI konfigurieren oder den Prozessmithilfe eines Ansible Playbooks automatisieren.

In diesem Abschnitt wird die manuelle Erstellung der NSX-T-Ressourcen beschrieben. Informationen zumAutomatisieren des Vorgangs finden Sie unter Installieren von CNI-Plug-In, OVS und NCP-Docker-Image.

Dieses Kapitel enthält die folgenden Themen:

n Konfigurieren von NSX-T-Ressourcen

n Erstellen und Konfigurieren eines logischen Tier-0-Routers

Konfigurieren von NSX-T-RessourcenZu den zu konfigurierenden NSX-T-Ressourcen gehören eine Overlay-Transport-Zone, ein logischerTier-0-Router, ein logischer Switch zum Verbinden der virtuellen Maschinen des Knotens, IP-Blöcke fürKubernetes-Knoten und ein IP-Pool für SNAT.

Sie konfigurieren NSX-T-Ressourcen unter Verwendung von UUIDs oder Namen in der Konfigurationsda-tei ncp.ini.

Overlay-TransportzoneMelden Sie sich bei NSX Manager an und navigieren Sie zu Fabric > Transportzonen. Suchen Sie nachder für Containernetzwerke verwendeten Overlay-Transportzone oder erstellen Sie eine neue.

Geben Sie eine Overlay-Transportzone für einen Cluster an, indem Sie die Option overlay_tz im Ab-schnitt [nsx_v3] der Datei ncp.ini festlegen.

Logisches Tier-0-RoutingMelden Sie sich bei NSX Manager an und navigieren Sie zu Routing > Router. Suchen Sie nach dem fürContainernetzwerke verwendeten Router oder erstellen Sie einen neuen.

Geben Sie einen logischen Tier-0-Router für einen Cluster an, indem Sie die Option tier0_router imAbschnitt [nsx_v3] der Datei ncp.ini festlegen.

Hinweis Der Router muss im Aktiv/Standby-Modus erstellt werden.

VMware, Inc. 8

Logischer SwitchDie vom Knoten für den Netzwerkdatenverkehr verwendeten vNICs müssen mit einem logischen Overlay-Switch verbunden sein. Die Verwaltungsschnittstelle des Knotens muss nicht zwingend mit NSX-T ver-bunden sein, obwohl dies die Einrichtung erleichtert. Sie können einen logischen Switch erstellen, indemSie sich bei NSX Manager anmelden und zu Switching > Switches navigieren. Erstellen Sie auf demSwitch logische Ports und hängen Sie die vNICs des Knotens daran an. Die logischen Ports müssen diefolgenden Tags aufweisen:

n Geltungsbereich: ncp/cluster, Tag: <cluster_name>

n Geltungsbereich: ncp/node_name, Tag: <node_name>

Der Wert für <cluster_name> muss mit dem Wert der Option cluster im Abschnitt [coe] von ncp.iniübereinstimmen.

IP-Blöcke für Kubernetes-PodsMelden Sie sich bei NSX Manager an und navigieren Sie zu DDI > IPAM, um einen oder mehrere IP-Blöcke zu erstellen. Geben Sie den IP-Block im CIDR-Format an.

Geben Sie IP-Blöcke für Kubernetes-Pods an, indem Sie die Option container_ip_blocks im Abschnitt[nsx_v3] der Datei ncp.ini festlegen.

Sie können IP-Blöcke auch speziell für Nicht-SNAT-Namespaces erstellen.

Geben Sie Nicht-SNAT-IP-Blöcke ein, indem Sie die Option no_snat_ip_blocks im Abschnitt [nsx_v3]der Datei ncp.ini festlegen.

Wenn Sie Nicht-SNAT-IP-Blöcke erstellen, während NCP ausgeführt wird, müssen Sie NCP neu starten.Andernfalls verwendet NCP weiterhin die freigegebenen IP-Blöcke, bis sie erschöpft sind.

Hinweis Wenn Sie einen IP-Block erstellen, darf das Präfix nicht größer als der Wert des Parameterssubnet_prefix in der NCP-Konfigurationsdatei ncp.ini sein.

IP-Pool für SNATDer IP-Pool wird für die Zuteilung von IP-Adressen verwendet, die der Übersetzung von Pod-IP-Adressenüber SNAT-Regeln dienen. Zudem werden sie zum Verfügbarmachen der Ingress-Controller überSNAT/DNAT-Regeln verwendet – genau wie Openstack Floating IP-Adressen. Diese IP-Adressen werdenauch als „externe IP-Adressen“ bezeichnet.

Mehrere Kubernetes-Cluster verwenden denselben externen IP-Pool. Jede NCP-Instanz verwendet einenTeil dieses Pools für den Kubernetes-Cluster, den sie verwaltet. Standardmäßig wird dasselbe Subnetz-präfix für Pod-Subnetze verwendet. Wen Sie eine andere Subnetzgröße verwenden möchten, aktualisie-ren Sie die external_subnet_prefix-Option im [nsx_v3]-Abschnitt in ncp.ini.

Melden Sie sich bei NSX Manager an und navigieren Sie zu Bestand > Gruppen > IP-POOL, um einenPool zu erstellen oder nach einem vorhandenen Pool zu suchen.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 9

Geben Sie IP-Pools für SNAT an, indem Sie die Option external_ip_pools im Abschnitt [nsx_v3] derDatei ncp.ini festlegen.

Sie können SNAT auch für einen bestimmten Dienst konfigurieren, indem Sie dem Dienst eine Anmer-kung hinzufügen. Beispiel:

apiVersion: v1

kind: Service

metadata:

name: svc-example

annotations:

ncp/snat_pool: <external IP pool ID or name>

selector:

app: example

...

NCP konfiguriert die SNAT-Regel für diesen Dienst. Bei der Quell-IP der Regel handelt es sich um dieGruppe der Backend-Pods. Bei der Ziel-IP handelt es sich um die SNAT-IP, die aus dem angegebenenexternen IP-Pool zugeteilt wurde. Beachten Sie Folgendes:

n Der von ncp/snat_pool angegebene Pool sollte bereits in NSX-T vorhanden sein, bevor der Dienstkonfiguriert wird.

n In NSX-T ist die Priorität der SNAT-Regel für den Dienst höher als die für das Projekt.

n Wenn ein Pod mit mehreren SNAT-Regeln konfiguriert wird, funktioniert nur eine der Regeln.

Ab Release NCP 2.2.1 können Sie durch Hinzufügen des folgenden Tags zum IP-Pool festlegen, wel-chem Namespace IPs aus dem SNAT-IP-Pool zugewiesen werden können.

n Geltungsbereich: ncp/owner, Tag: ns:<namespace_UUID>

Sie können die Namespace-UUID mit einem der folgenden Befehle abrufen:

oc get ns -o yaml

Beachten Sie Folgendes:

n Jedes Tag sollte eine UUID enthalten. Sie können mehrere Tags für denselben Pool erstellen.

n Wenn Sie die Tags ändern, nachdem einigen Namespaces basierend auf den alten Tags IPs zuge-wiesen wurden, werden diese IPs nicht wiederhergestellt, bis sich die SNAT-Konfigurationen derDienste ändern oder NCP neu gestartet wird.

n Wenn der IP-Pool keine Owner-Tags aufweist, können allen Diensten IPs aus dem Pool zugewiesenwerden.

(Optional) Markierte FirewallabschnitteDamit der Administrator Firewallregeln erstellen kann und diese die von NCP erstellten, auf Netzwer-krichtlinien basierenden Firewallabschnitte nicht beeinträchtigen, melden Sie sich bei NSX Manager an,navigieren Sie zu Firewall > Allgemein und erstellen Sie zwei Firewallabschnitte.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 10

Geben Sie Firewall-Markierungsabschnitte an, indem Sie die Optionen bottom_firewall_secti-on_marker und top_firewall_section_marker im Abschnitt [nsx_v3] der Datei ncp.ini festlegen.

Der untere Firewallabschnitt muss sich unterhalb des oberen Firewallabschnitts befinden. Wenn diese Fi-rewallabschnitte erstellt sind, werden alle von NCP zur Isolierung erstellten Firewallabschnitte oberhalbdes unteren Firewallabschnitts und alle von NCP für Richtlinien erstellten Firewallabschnitte unterhalbdes oberen Firewallabschnitts erstellt. Wenn diese Markierungsabschnitte nicht erstellt werden, werdenalle Isolierungsregeln unten und alle Richtlinienabschnitte oben erstellt. Mehrere markierte Firewallab-schnitte mit demselben Wert pro Cluster werden nicht unterstützt und führen zu einem Fehler.

Erstellen und Konfigurieren eines logischen Tier-0-RoutersDer logische Tier-0-Router verbindet die Kubernetes-Knoten mit externen Netzwerken.

Verfahren

1 Melden Sie sich über einen Browser bei NSX Manager unter https://nsx-manager-ip-address an.

2 Navigieren Sie zu Routing > Router, und klicken Sie auf Hinzufügen > Tier-0-Router.

3 Geben Sie einen Namen und optional eine Beschreibung ein.

4 Wählen Sie im Dropdown-Menü einen vorhandenen Edge-Cluster für eine Unterstützung dieses logi-schen Tier-0-Routers aus.

5 Wählen Sie einen Modus für die Hochverfügbarkeit aus.

Wählen Sie den Aktiv/Standby-Modus aus.

6 Klicken Sie auf Speichern.

Der neue logische Router wird als Link angezeigt.

7 Klicken Sie auf den Link für den logischen Router.

8 Klicken Sie auf Routing > Route Redistribution.

9 Klicken Sie auf Hinzufügen, um ein neues Kriterium für die Neuverteilung hinzuzufügen.

Wählen Sie für Quellen in einer gerouteten (Nicht-NAT-) Topologie NSX statisch aus. Wählen Sie ineiner NAT-Topologie Tier-0 NAT aus.

10 Klicken Sie auf Speichern.

11 Klicken Sie auf den neu erstellten Router.

12 Klicken Sie auf Konfiguration > Router-Ports.

13 Klicken Sie auf Hinzufügen, um einen Uplink-Port hinzuzufügen.

14 Wählen Sie einen Transportknoten aus.

15 Wählen Sie den zuvor erstellten logischen Switch aus.

16 Geben Sie eine IP-Adresse in Ihrem externen Netzwerk an.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 11

17 Klicken Sie auf Speichern.

Der neue logische Router wird als Link angezeigt.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 12

Einrichten des NSX-T ContainerPlug-Ins und von OpenShift 3In diesem Kapitel wird das Installieren und Konfigurieren von NSX-T Container Plug-in (NCP) und Open-Shift beschrieben.

Dieses Kapitel enthält die folgenden Themen:

n Bereitstellen von OpenShift-VMs

n Vorbereiten der Ansible-Hostdatei

n Installieren von NCP und OpenShift mit einem einzelnen Playbook

n Installieren von CNI-Plug-In, OVS und NCP-Docker-Image

n Installieren von OpenShift Container Platform

n Ausführen des NCP- und NSX-Knotenagenten

n Hinweise zur Einrichtung

Bereitstellen von OpenShift-VMsVor der Installation von NSX-T Container Plug-in muss OpenShift installiert werden. Sie müssen mindes-tens einen Master bereitstellen.

Weitere Informationen finden Sie unter https://docs.openshift.com.

Nächste Schritte

Bereiten Sie die Ansible-Hostdatei vor. Siehe Vorbereiten der Ansible-Hostdatei.

Vorbereiten der Ansible-HostdateiDie Ansible-Datei hosts definiert die Knoten im OpenShift-Cluster.

Verfahren

1 Klonen Sie das NCP-GitHub-Repository unter https://github.com/vmware/nsx-integration-for-open-shift. Die Datei hosts befindet sich im Verzeichnis openshift-ansible-nsx. Sie müssen die Dateihosts im Verzeichnis openshift-ansible-nsx beibehalten. Einige Playbooks gehen davon aus,dass dies der Pfad für die hosts-Datei ist.

VMware, Inc. 13

2 Geben Sie in den [master]- und [nodes]-Abschnitten die Hostnamen und IP-Adressen der virtuellenOpenShift-Maschinen an. Beispiel:

[masters]

admin.rhel.osmaster ansible_ssh_host=101.101.101.4

[single_master]

admin.rhel.osmaster ansible_ssh_host=101.101.101.4

[nodes]

admin.rhel.osmaster ansible_ssh_host=101.101.101.4 openshift_ip=101.101.101.4 openshift_schedu-

lable=true openshift_hostname=admin.rhel.osmaster

admin.rhel.osnode ansible_ssh_host=101.101.101.5 openshift_ip=101.101.101.5 openshift_hostna-

me=admin.rhel.osnode

[etcd]

[OSEv3:children]

masters

nodes

etcd

Beachten Sie, dass openshift_ip die interne Cluster-IP-Adresse identifiziert und festgelegt werdenmuss, wenn die zu verwendende Schnittstelle nicht die Standardkonfiguration ist. Die Variable sin-gle_master wird von ncp-bezogenen Rollen aus einem Master-Knoten für bestimmte Aufgaben nureinmal verwendet, z. B. für die Ressourcenkonfiguration der NSX-T-Managementebene.

3 Richten Sie den SSH-Zugriff so ein, dass der Zugriff auf alle Knoten ohne Kennwort von dem Knotenaus möglich ist, auf dem die Ansible-Rolle ausgeführt wird (in der Regel ist dies der Master-Knoten):

ssh-keygen

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

4 Aktualisieren Sie den Abschnitt [OSEv3:vars]. Details über sämtliche Parameter finden Sie in der Do-kumentation zu OpenShift Container Platform für die erweiterte Installation (suchen Sie nach „advan-ced installation“ in https://docs.openshift.com). Beispiel:

# Set the default route fqdn

openshift_master_default_subdomain=apps.corp.local

os_sdn_network_plugin_name=cni

openshift_use_openshift_sdn=false

openshift_node_sdn_mtu=1500

# If ansible_ssh_user is not root, ansible_become must be set to true

ansible_become=true

openshift_master_default_subdomain

This is the default subdomain used in the OpenShift routes for External LB

os_sdn_network_plugin_name

Set to 'cni' for the NSX Integration

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 14

openshift_use_openshift_sdn

Set to false to disable the built-in OpenShift SDN solution

openshift_hosted_manage_router

Set to false to disable creation of router during installation. The router has to be manual-

ly started after NCP and nsx-node-agent are running.

openshift_hosted_manage_registry

Set to false to disable creation of registry during installation. The registry has to be

manually started after NCP and nsx-node-agent are running.

deployment_type

Set to openshift-enterprise

openshift_hosted_manage_registry

Set to false to disable auto creation of registry

openshift_hosted_manage_router

Set to false to disable auto creation of router

openshift_enable_service_catalog

Set to false to disable service_catalog

(For OpenShift 3.9 only) skip_sanity_checks

Set to true

(For OpenShift 3.9 only) openshift_web_console_install

Set to false

5 Überprüfen Sie, ob eine Verbindung zu allen Hosts besteht:

ansible OSEv3 -i /PATH/TO/HOSTS/hosts -m ping

Die Ergebnisse sollte wie folgt aussehen. Falls dies nicht der Fall ist, beheben Sie das Konnektivität-sproblem.

openshift-node1 | SUCCESS => {

"changed": false,

"ping": "pong"

}

openshift-master | SUCCESS => {

"changed": false,

"ping": "pong"

}

Nächste Schritte

Installieren Sie das CNI-Plugin und OVS. Siehe Installieren von CNI-Plug-In, OVS und NCP-Docker-Image.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 15

Installieren von NCP und OpenShift mit einem einzelnenPlaybookSie können NCP und OpenShift mit einem einzelnen Playbook installieren oder die Installation in separa-ten Schritten ausführen.

Das einzelne Ansible Playbook install.yaml führt die folgenden Aufgaben durch:

n NCP-Vorbereitung

n OpenShift-Installation

n NCP-Installation

Alternativ dazu können Sie NCP und OpenShift anhand der Anweisungen in den folgenden zwei Ab-schnitte installieren: Installieren von CNI-Plug-In, OVS und NCP-Docker-Image und Installieren vonOpenShift Container Platform.

Legen Sie vor dem Ausführen des install.yaml-Playbooks die erforderlichen und optionalen Parameterfür die Playbook-Rollen ncp_prep und ncp fest. Die Parameter sind in Installieren von CNI-Plug-In, OVSund NCP-Docker-Image beschrieben.

Der folgende Befehl führt das Playbook aus:

ansible-playbook -i /PATH/TO/HOSTS/hosts install.yaml

Installieren von CNI-Plug-In, OVS und NCP-Docker-ImageDas CNI(Container Network Interface)-Plug-In, Open vSwitch (OVS) und das NCP-Docker-Image müssenauf den OpenShift-Knoten installiert sein. Die Installation erfolgt durch die Ansible Playbook-Ausführung.

Hinweis Dieser Schritt ist nicht erforderlich, wenn Sie NCP und OpenShift mit einem einzelnen Play-book installieren. Siehe Installieren von NCP und OpenShift mit einem einzelnen Playbook.

Das Playbook enthält Anweisungen zum Konfigurieren von NSX-T-Ressourcen für die Knoten. Sie kön-nen die NSX-T-Ressourcen auch manuell konfigurieren, wie unter Kapitel 2Einrichten von NSX-T-Res-sourcen beschrieben. Der Parameter perform_nsx_config gibt an, ob die Ressourcen bei der Play-book-Ausführung konfigurieren werden oder nicht.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 16

Verfahren

1 Aktualisieren Sie die Parameterwerte in roles/ncp_prep/default/main.yaml und ro-les/nsx_config/default/main.yaml, einschließlich der URLs, unter denen das CNI-Plug-In RPM,OVS und das entsprechende Kernelmodul RPM heruntergeladen werden können. Darüber hinaus istuplink_port der Name der virtuellen Netzwerkkarte des Uplink-Ports auf dem VM-Knoten. Die ver-bleibenden Variablen beziehen sich auf die Konfiguration der NSX-T-Managementebene.

Parameter, die angegeben werden müssen:

n perform_nsx_config: gibt an, ob die Ressourcenkonfiguration durchgeführt wird. Legen Sie dieEinstellung auf „false“ fest, wenn die Konfiguration manuell vorgenommen und das Skriptnsx_config nicht ausgeführt wird.

n nsx_manager_ip: IP-Adresse des NSX Manager

n nsx_edge_cluster_name: Name des Edge-Clusters für die Verwendung durch den Tier-0-Router

n nsx_transport_zone_name: Name der Overlay-Transportzone

n os_node_name_list: kommagetrennte Liste der Knotennamen

Zum Beispiel node1,node2,node3

n subnet_cidr: CIDR-Adresse für IP-Administrator, die „br-int“ auf dem Knoten zugewiesen wird

n vc_host: IP-Adresse von vCenter Server

n vc_user: Benutzername des vCenter Server-Administrators

n vc_password: Kennwort des vCenter Server-Administrators

n vms: kommagetrennte Liste der VM-Namen. Die Reihenfolge muss mit os_node_name_listübereinstimmen.

Die folgenden Parameter weisen Standardwerte auf. Sie können diese je nach Bedarf ändern.

n nsx_t0_router_name: Name des logischen Tier-0-Routers für den Cluster. Standard: t0

n pod_ipblock_name: Name des IP-Blocks für Pods. Standard: podIPBlock

n pod_ipblock_cidr: CIDR-Adresse für diesen IP-Block. Standard: 172.20.0.0/16

n snat_ippool_name: Name des IP-Blocks für SNAT. Standard: externalIP.

n snat_ippool_cidr: CIDR-Adresse für diesen IP-Block. Standard: 172.30.0.0/16

n start_range: die für diesen IP-Pool angegebene IP-Startadresse von CIDR. Standard:172.30.0.1

n end_range: die für diesen IP-Pool angegebene IP-Endadresse von CIDR. Standard:172.30.255.254

n os_cluster_name: Name des OpenShift-Clusters. Standard: occl-one

n nsx_node_ls_name: Name des logischen Switches, der mit den Knoten verbunden ist. Standard:node_ls

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 17

n nsx_node_lr_name: Name des logischen Routers für den Switch node_ls. Standard: node_lr

Das nsx-config-Playbook unterstützt nur die Erstellung jeweils eines IP-Pools und eines IP-Blocks.Wenn Sie weitere Pools und Blöcke benötigen, müssen Sie diese manuell erstellen.

2 Wechseln Sie zum Verzeichnis openshift-ansible-nsx, und führen Sie die Rolle ncp_prep aus.

ansible-playbook -i /PATH/TO/HOSTS/hosts ncp_prep.yaml

Das Playbook enthält Anweisungen zum Ausführen der folgenden Aktionen:

n Laden Sie die Installationsdatei für das CNI-Plug-In herunter.

Der Dateiname lautet nsx-cni-1.0.0.0.0.xxxxxxx-1.x86_64.rpm, wobei xxxxxxx die Build-Num-mer ist.

n Installieren Sie die Installationsdatei für das CNI-Plug-In.

Das Plugin wird unter /opt/cni/bin installiert. Die CNI-Konfigurationsdatei „10.net.conf“ wirdnach /etc/cni/net.d kopiert. RPM installiert auch die Konfigurationsdatei /etc/cni/net.d/99-loopback.conf für das Loopback-Plugin.

n Laden Sie die OVS-Installationsdateien herunter, und installieren Sie sie.

Die Dateien lauten openvswitch-2.7.0.xxxxxxx-1.x86_64.rpm und openvswitch-kmod-2.7.0.xxxxxxx-1.el7.x86_64.rpm, wobei xxxxxxx die Build-Nummer ist.

n Stellen Sie sicher, dass OVS ausgeführt wird.

# service openvswitch-switch status

n Erstellen Sie die br-int-Instanz, sofern dies noch nicht erfolgt ist.

# ovs-vsctl add-br br-int

n Fügen Sie die Netzwerkschnittstelle (node-if) hinzu, die mit dem logischen Switch des Knotens für br-int verbunden ist.

n Stellen Sie sicher, dass br-int und node-if link einen aktiven Status aufweisen.

# ip link set br-int up

# ip link set <node-if> up

n Aktualisieren Sie die Netzwerkkonfigurationsdatei, um sicherzustellen, dass die Netzwerkschnittstellenach einem Neustart aktiv ist.

n Laden Sie die TAR-Datei für NCP herunter und laden Sie das Docker-Image aus der TAR-Datei.

n Laden Sie die YAML-Datei ncp-rbac herunter und ändern Sie apiVersion in v1.

n Erstellen Sie eine logische Topologie und zugehörige Ressourcen in NSX-T und erstellen Sie Tagsauf diesen, damit sie von NCP erkannt werden.

n Aktualisieren Sie ncp.ini mit Informationen zur NSX-T-Ressource.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 18

Nächste Schritte

Installieren Sie OpenShift Container Platform. Siehe Installieren von OpenShift Container Platform.

Installieren von OpenShift Container PlatformOpenShift Container Platform (OCP) ist ein PaaS-Produkt (Platform as a Service), das Docker undKubernetes verbindet.

Hinweis Dieser Schritt ist nicht erforderlich, wenn Sie NCP und OpenShift mit einem einzelnen Play-book installieren. Siehe Installieren von NCP und OpenShift mit einem einzelnen Playbook.

Informationen zum Installieren von OCP finden Sie unter https://docs.openshift.com.

Nächste Schritte

Führen Sie NCP und den NSX-Knotenagent aus. Siehe Ausführen des NCP- und NSX-Knotenagenten.

Ausführen des NCP- und NSX-KnotenagentenRichten Sie den NCP- und NSX-Knotenagent ein, und führen Sie ihn aus.

Verfahren

1 Bearbeiten Sie roles/ncp/defaults/main.yaml, und geben Sie die IP-Adresse des OpenShift-API-Servers, die IP-Adresse von NSX Manager und die URLs zum Herunterladen der YAML-Datei fürNCP ReplicationController und für DaemonSet für „nsx-node-agent“ an.

2 Führen Sie im Verzeichnis „openshift-ansible-nsx“ ncp-Rolle aus:

ansible-playbook -i /PATH/TO/HOSTS/hosts ncp.yaml

Die ncp-Rolle führt die folgenden Schritte aus:

n Überprüfen Sie, ob das Projekt „nsx-system“ vorhanden ist, und erstellen Sie es, wenn dies nicht derFall ist.

oc new-project nsx-system

n Laden Sie die YAML-Datei ncp-rbac herunter und ändern Sie apiVersion in v1.

n Erstellen Sie das Dienstkonto für den NCP-Pod, erstellen Sie eine Clusterrolle, die die Ressourcenfestlegt, auf die NCP zugreifen kann, und binden Sie die Clusterrolle an das NCP-Dienstkonto.

n Erstellen Sie das Dienstkonto für den nsx-node-agent-Pod, erstellen Sie eine Clusterrolle, die dieRessourcen festlegt, auf die der Knotenagent zugreifen kann, und binden Sie die Clusterrolle an dasKnotenagent-Dienstkonto.

oc apply -f /tmp/ncp-rbac.yml

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 19

n Rufen Sie das Token ab, das mit dem oben genannten Dienstkonto verknüpft ist, und speichern Siees unter /etc/nsx-ujo/<service_account>_token:

secret=`kubectl get serviceaccount ncp-svc-account -o yaml | grep -A1 secrets | tail -n1 | awk

{'print $3'}`

kubectl get secret $secret -o yaml | grep 'token:' | awk {'print $2'} | base64 -d > /etc/nsx-

ujo/ncp_token

secret=`kubectl get serviceaccount nsx-node-agent-svc-account -o yaml | grep -A1 secrets |

tail -n1 | awk {'print $3'}`

kubectl get secret $secret -o yaml | grep 'token:' | awk {'print $2'} | base64 -d > /etc/nsx-

ujo/node_agent_token

n Laden Sie die SecurityContextConstraint (SCC)-YAML-Datei für NCP herunter, und erstellen Sie dasSCC-Objekt basierend auf der YAML-Datei.

n Fügen Sie das erstellte SCC-Objekt den oben genannten Dienstkonten hinzu:

oadm policy add-scc-to-user ncp-scc -z ncp-svc-account

oadm policy add-scc-to-user ncp-scc -z nsx-node-agent-svc-account

n Laden Sie die YAML-Dateien für NCP ReplicationController (RC) und nsx-node-agent DaemonSet(DS) herunter und aktualisieren Sie die ConfigMap.

n Laden Sie das NCP-Image herunter (nsx-node-agent verwendet dasselbe Image), und laden Sie es.

n Konfigurieren Sie das Dienstkonto, und richten Sie das erforderliche SecurityContextConstraint-Ob-jekt für NCP und nsx_node_agent ein.

n Erstellen Sie den NCP ReplicationController und das nsx-node-agent DaemonSet.

Hinweis NCP öffnet dauerhafte HTTP-Verbindungen zum Kubernetes-API-Server, um Lebenszykluse-reignisse von Kubernetes-Ressourcen zu überwachen. Wenn ein API-Serverausfall oder ein Netzwerk-ausfall dazu führt, dass TCP-Verbindungen von NCP verfallen, müssen Sie NCP neu starten, sodass esdie Verbindungen zum API-Server wiederherstellen kann. Andernfalls verpasst NCP die neuen Ereignis-se.

Hinweise zur EinrichtungBeachten Sie vor dem Einrichten von OpenShift und NCP die folgenden Informationen.

n Ein Pod darf nicht mehr als 11 Bezeichnungen haben, und ein Namespace darf nicht mehr als 12 Be-zeichnungen aufweisen.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 20

n Hinzugefügte Bezeichnungen für die interne Verwendung von OpenShift, z. B. eine Bezeichnung mitPräfix „openshift.io“ im zugehörigen Schlüssel, werden von NCP ignoriert. Demzufolge werden demBenutzer die entsprechenden Tags, die auf den entsprechenden NSX-Ressourcen erstellt wurden,nicht angezeigt. Hier finden Sie eine Liste mit von OpenShift verwendeten Bezeichnungspräfixen.Vermeiden Sie die Verwendung eines Bezeichnungsschlüssels, der wie folgt beginnt:

openshift.io

pod-template

n Die Knoten benötigen Zugriff auf die Pods, beispielsweise für Kubelet-Integritätsprüfungen. StellenSie sicher, dass die Host-Verwaltungsschnittstelle auf das Pod-Netzwerk zugreifen kann.

n Die Linux-Funktionen NET_ADMIN und NET_RAW können von Angreifern ausgenutzt werden, umdas Pod-Netzwerk zu gefährden. Sie sollten diese beiden Funktionen der nicht vertrauenswürdigenContainer deaktivieren. Standardmäßig erhält NET_ADMIN bei SCC mit „restricted“ und „anyuid“ kei-nen Zugriff. Seien Sie vorsichtig bei einem SCC-Objekt, das NET_ADMIN explizit aktiviert oder diePod-Ausführung im privilegierten Modus ermöglicht. Erstellen Sie darüber hinaus für nicht vertrauens-würdige Container ein separates SCC-Objekt, z. B. basierend auf SCC mit „anyuid“, und entfernenSie dabei die Funktion NET_RAW. Dies kann durch Hinzufügen von NET_RAW zu der Liste „Requi-redDropCapabilities“ in der SCC-Definition erfolgen.

n Im Ansible Playbook für das Upgrade von OpenShift 3.6 auf 3.7 liegt ein Fehler vor. Die Einstellungopenshift_use_openshift_sdn=false in der Bestandsdatei wird ignoriert, und beim Upgrade wirdversucht, die standardmäßige OpenShift-SDN zu installieren. Um dieses Problem zu umgehen, ent-fernen Sie vor dem Upgrade das CNI-Plug-In und installieren Sie es erneut nach dem Upgrade.

n Erlauben Sie den Root-Zugriff in PODs/Containern (nur zu Testzwecken). Die unten aufgeführten Be-fehle benötigen Root-Zugriff in allen PODs des oc-Projekts, bei dem Sie aktuell angemeldet sind.

oc new-project test-project

oc project test-project

oadm policy add-scc-to-user anyuid -z default

n Konfigurieren Sie die OpenShift-Registrierung (fügen Sie sie hinzu).

oc login -u system:admin -n default

oadm registry --service-account=registry --config=/etc/origin/master/admin.kubeconfig

n Löschen der OpenShift-Registrierung

oc login -u system:admin -n default

oc delete svc/docker-registry dc/docker-registry

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 21

n Es fehlt eine IPtables-Firewallregel zum Zulassen von DNS-Anforderungen von Docker-Standard-Bridge-Containern für den dnsmasq-Prozess auf dem Knoten. Sie muss manuell geöffnet werden.Bearbeiten Sie /etc/sysconfig/iptables, und fügen Sie am Ende der Datei vor COMMIT die fol-genden Regeln hinzu:

-A OS_FIREWALL_ALLOW -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT

-A OS_FIREWALL_ALLOW -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT

COMMIT

n Starten Sie iptables, docker und origin-node neu (Kube-Proxy und Kubelet werden neu gestartet).

systemctl restart iptables

systemctl restart docker

systemctl restart origin-node

n Die interne Docker-Registrierung von OpenShift muss Nicht-TLS verwenden können, damit Open-Shift funktioniert. In der Regel sollte dies automatisch vom OpenShift Ansible-Installationsprogrammhinzugefügt werden. Momentan scheint dies aber nicht zu funktionieren. Bearbeiten Sie „/etc/syscon-fig/docker“ und fügen Sie Folgendes hinzu:

INSECURE_REGISTRY='--insecure-registry 172.30.0.0/16'

n Starten Sie Docker neu.

systemctl restart docker

n Die NCP-Unterstützung für Netzwerkrichtlinien entspricht der von Kubernetes bereitgestellten Unter-stützung und richtet sich nach der von OpenShift verwendeten Kubernetes-Version.

n OpenShift 3.7, 3.9 – Die Regelklauseln in der Netzwerkrichtlinie können höchstens einen Selektoraus namespaceSelector, podSelector und ipBlock enthalten.

n OpenShift 3.7 – Unterstützung für Egress-Regeln und den CIDR-Selektor ipBlock steht nicht zurVerfügung. Sie stehen als Betafelder in OpenShift 3.9 zur Verfügung.

n Bestimmte Kubernetes-Versionen weisen ein auf subPath bezogenes Problem auf (siehe https://gi-thub.com/kubernetes/kubernetes/issues/61076). Wenn die OpenShift-Version keinen Fix für diesesProblem enthält, schlägt die Erstellung des NCP-Pods mit folgendem Fehler fehl: CreateContainer-ConfigError: subPath für volumeMount konnte nicht vorbereitet werden. Sie könnendieses Problem umgehen, indem Sie die Verwendung von subPath aus der NCP-YAML-Datei entfer-nen. Entfernen Sie insbesondere die Zeile mit subPath: ncp.ini und ersetzen Sie die Konfigurationfür volumes durch Folgendes:

volumes:

- name: config-volume

# ConfigMap nsx-ncp-config is expected to supply ncp.ini

configMap:

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 22

name: nsx-ncp-config

items:

- key: ncp.ini

path: ncp.ini

Ein Nebeneffekt dieser Änderung besteht darin, dass das gesamte /etc/nsx-ujo-Verzeichnis mit ei-nem Schreibschutz versehen wird. Dies führt dazu, dass eine Verbindung mit NSX-T über ein Zertifi-kat und einen privaten Schlüssel nicht funktioniert, da NCP kein temporäres Verzeichnis un-ter /etc/nsx-ujo erstellen kann, um Zertifikat und privaten Schlüssel in eine einzige Datei zu ver-schieben.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 23

Lastausgleich 4Der NSX-T-Load Balancer ist in OpenShift integriert und fungiert als OpenShift-Router.

NCP überwacht OpenShift-Routen- und -Endpoint-Ereignisse und konfiguriert Lastausgleichsregeln aufdem Load Balancer basierend auf der Routenspezifikation. Dies führt dazu, das der NSX-T-Load Balan-cer eingehenden Schicht 7-Datenverkehr basierend auf den Regeln zu den geeigneten Backend-Podsweiterleitet.

Konfigurieren des LastausgleichsDas Konfigurieren des Lastausgleichs umfasst das Konfigurieren eines Kubernetes-LoadBalancer-Diensts oder einer OpenShift-Route. Sie müssen auch den NCP ReplicationController konfigurieren. DerLoadBalancer-Dienst wird für den Schicht 4-Datenverkehr und die OpenShift-Route für den Schicht 7-Da-tenverkehr verwendet.

Wenn Sie einen Kubernetes-LoadBalancer-Dienst konfigurieren, wird diesem eine IP-Adresse aus demvon Ihnen konfigurierten externen IP-Block zugeteilt. Der Load Balancer wird auf dieser IP-Adresse unddem Dienst-Port bereitgestellt. Sie können den Namen oder die ID eines IP-Pools mithilfe der loadBa-lancerIP-Spezifikation in der Definition des LoadBalancer-Diensts angeben. Die IP-Adresse des Load-Balancer-Diensts wird aus diesem IP-Pool zugeteilt. Wenn die loadBalancerIP-Spezifikation leer ist,wird die IP-Adresse aus dem externen IP-Block zugeteilt, den Sie konfigurieren.

Um den Load Balancer von NSX-T zu verwenden, müssen Sie den Lastausgleich in NCP konfigurieren.Führen Sie in der Datei ncp_rc.yml die folgenden Schritte aus:

1 Legen Sie use_native_loadbalancer = True fest.

2 Legen Sie pool_algorithm auf WEIGHTED_ROUND_ROBIN fest.

3 Legen Sie „lb_default_cert_path“ und „lb_priv_key_path“ als vollständige Pfadnamen des von derZertifizierungsstelle signierten Zertifikats und der Datei mit dem privaten Schlüssel fest. Ein Beispiel-skript zum Generieren eines von einer Zertifizierungsstelle signierten Zertifikats finden Sie unten.Mounten Sie darüber hinaus das Standardzertifikat und den Standardschlüssel in den NCP-Pod. An-weisungen hierzu finden Sie unten.

4 (Optional) Legen Sie service_size = SMALL, MEDIUM oder LARGE fest. Die Standardeinstellung istSMALL.

VMware, Inc. 24

Beispiel für einen Load Balancer auf Schicht 7:Zur Bereitstellung des Lastausgleichs auf Schicht 7 konfiguriert die folgende YAML-Datei zwei Replikati-ons-Controller (tea-rc und coffee-rc), zwei Dienste (tea-svc und coffee-svc) sowie zwei Routen (cafe-rou-te-multi und cafe-route).

# RC

apiVersion: v1

kind: ReplicationController

metadata:

name: tea-rc

spec:

replicas: 2

template:

metadata:

labels:

app: tea

spec:

containers:

- name: tea

image: nginxdemos/hello

imagePullPolicy: IfNotPresent

ports:

- containerPort: 80

---

apiVersion: v1

kind: ReplicationController

metadata:

name: coffee-rc

spec:

replicas: 2

template:

metadata:

labels:

app: coffee

spec:

containers:

- name: coffee

image: nginxdemos/hello

imagePullPolicy: IfNotPresent

ports:

- containerPort: 80

---

# Services

apiVersion: v1

kind: Service

metadata:

name: tea-svc

labels:

app: tea

spec:

ports:

- port: 80

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 25

targetPort: 80

protocol: TCP

name: http

selector:

app: tea

---

apiVersion: v1

kind: Service

metadata:

name: coffee-svc

labels:

app: coffee

spec:

ports:

- port: 80

targetPort: 80

protocol: TCP

name: http

selector:

app: coffee

---

# Routes

apiVersion: v1

kind: Route

metadata:

name: cafe-route-multi

spec:

host: www.cafe.com

path: /drinks

to:

kind: Service

name: tea-svc

weight: 1

alternateBackends:

- kind: Service

name: coffee-svc

weight: 2

---

apiVersion: v1

kind: Route

metadata:

name: cafe-route

spec:

host: www.cafe.com

path: /tea-svc

to:

kind: Service

name: tea-svc

weight: 1

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 26

Zusätzliche Hinweisen In dieser Version wird Lastausgleich nur über die OpenShift-Routenressource unterstützt, jedoch

nicht die Dienstressource des Typs LoadBalancer.

n Nur die Edge-Beendigung wird für HTTPS-Datenverkehr unterstützt.

n Unterdomänen als Platzhalter werden unterstützt. Wenn zum Beispiel wildcardPolicy aufUnterdomäne und der Hostname auf wildcard.example.com festgelegt ist, werden alle Anforderun-gen an *.example.com verarbeitet.

n Wenn NCP aufgrund einer fehlerhaften Konfiguration einen Fehler während der Verarbeitung einesRouten-Ereignisses auslöst, müssen Sie die YAML-Datei der Route korrigieren und die Routen-Res-source löschen und neu erstellen.

n NCP erzwingt den Hostnamen-Besitz nicht nach Namespaces.

n Ein LoadBalancer-Dienst wird pro Kubernetes-Cluster unterstützt.

n NSX-T erstellt einen Load Balancer auf Schicht 4 für jeden LoadBalancer-Dienst-Port. TCP und UDPwerden unterstützt.

n Der Load Balancer von NSX-T ist in verschiedenen Größen erhältlich. Weitere Informationen zumKonfigurieren eines Load Balancers für NSX-T finden Sie im NSX-T-Administratorhandbuch.

Der kleine Load Balancer von NSX-T unterstützt Folgendes:

n 10 virtuelle NSX-T-Server

n 10 NSX-T-Pools

n 30 NSX-T-Poolmitglieder

n 8 Ports für LoadBalancer-Dienste.

n Insgesamt 10 von den LoadBalancer-Diensten und Routenressourcen definierte Ports.

n Insgesamt 30 von den LoadBalancer-Diensten und Routenressourcen referenzierte Endpoints.

Der mittlere Load Balancer von NSX-T unterstützt Folgendes:

n 100 virtuelle NSX-T-Server

n 100 NSX-T-Pools

n 300 NSX-T-Poolmitglieder

n 98 Ports für LoadBalancer-Dienste.

n Insgesamt 100 von den LoadBalancer-Diensten und Routenressourcen definierte Ports.

n Insgesamt 300 von den LoadBalancer-Diensten und Routenressourcen referenzierte Endpoints.

Der große Load Balancer von NSX-T unterstützt Folgendes:

n 1000 virtuelle NSX-T-Server

n 1000 NSX-T-Pools

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 27

n 3000 NSX-T-Poolmitglieder

n 998 Ports für LoadBalancer-Dienste.

n Insgesamt 1000 von den LoadBalancer-Diensten und Routenressourcen definierte Ports.

n Insgesamt 3000 von den LoadBalancer-Diensten und Routenressourcen referenzierte Endpoints.

Nachdem der Load Balancer erstellt wurde, kann seine Größe nicht durch Aktualisierung der Konfigu-rationsdatei geändert werden. Die Größe kann über die Benutzeroberfläche oder API geändert wer-den.

Beispielskript zum Generieren eines von einer Zertifizierungsstellesignierten ZertifikatsDas nachfolgende Skript generiert ein von einer Zertifizierungsstelle signiertes Zertifikat und einen priva-ten in den Dateien <Dateiname>.crt und <Dateiname>.key gespeicherten privaten Schlüssel. Der Befehlgenrsa generiert einen Zertifizierungsstellen-Schlüssel. Der Zertifizierungsstellen-Schlüssel muss ver-schlüsselt werden. Sie können eine Verschlüsselungsmethode mit einem Befehl wie zum Beispiel aes256angeben.

#!/bin/bash

host="www.example.com"

filename=server

openssl genrsa -out ca.key 4096

openssl req -key ca.key -new -x509 -days 365 -sha256 -extensions v3_ca -out ca.crt -subj

"/C=US/ST=CA/L=Palo Alto/O=OS3/OU=Eng/CN=${host}"

openssl req -out ${filename}.csr -new -newkey rsa:2048 -nodes -keyout ${filename}.key -subj

"/C=US/ST=CA/L=Palo Alto/O=OS3/OU=Eng/CN=${host}"

openssl x509 -req -days 360 -in ${filename}.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out ${filena-

me}.crt -sha256

Mounten Sie das Standardzertifikat und den Standardschlüssel inden NCP-PodWenn Sie das Zertifikat und den privaten Schlüssel erstellt haben, platzieren Sie sie im Verzeich-nis /etc/nsx-ujo auf dem VM-Host. Vorausgesetzt, dass die Zertifikats- und Schlüsseldateien die Na-men lb-default.crt und lb-default.key aufweisen, bearbeiten Sie ncp-rc.yaml , sodass diese Da-teien auf dem Host in den Pod gemountet werden. Beispiel:

spec:

...

containers:

- name: nsx-ncp

...

volumeMounts:

...

- name: lb-default-cert

# Mount path must match nsx_v3 option "lb_default_cert_path"

mountPath: /etc/nsx-ujo/lb-default.crt

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 28

- name: lb-priv-key

# Mount path must match nsx_v3 option "lb_priv_key_path"

mountPath: /etc/nsx-ujo/lb-default.key

volumes:

...

- name: lb-default-cert

hostPath:

path: /etc/nsx-ujo/lb-default.crt

- name: lb-priv-key

hostPath:

path: /etc/nsx-ujo/lb-default.key

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 29

Verwalten vonNSX-T Container Plug-in 5Sie können NSX-T Container Plug-in über die NSX Manager-GUI oder über die Befehlszeilenschnittstelle(Command Line Interface, CLI) verwalten.

Hinweis Wenn eine Container-Host-VM auf ESXi 6.5 ausgeführt wird und die VM über vMotion auf ei-nen anderen ESXi 6.5-Host migriert wird, geht die Verbindung von Containern, die auf dem Container-Host ausgeführt werden, mit Containern, die auf anderen Container-Hosts ausgeführt werden, verloren.Sie können das Problem lösen, indem Sie die vNIC des Container-Hosts trennen und erneut verbinden.Dieses Problem tritt bei ESXi 6.5 Update 1 oder höher nicht auf.

Hyperbus reserviert die VLAN-IDs 4093 und 4094 auf dem Hypervisor für die PVLAN-Konfiguration, unddie IDs können nicht geändert werden. Um VLAN-Konflikte zu vermeiden, konfigurieren Sie logischeVLAN-Switches oder VTEP-vmknics mit denselben VLAN-IDs.

Dieses Kapitel enthält die folgenden Themen:

n Verwalten von IP-Blöcken über die NSX Manager-GUI

n Verwalten von IP-Block-Subnetzen über die GUI von NSX Manager

n CIF-verknüpfte logische Ports

n CLI-Befehle

n Fehlercodes

Verwalten von IP-Blöcken über die NSX Manager -GUISie können die Tags für einen IP-Block über die NSX Manager-GUI hinzufügen, löschen, bearbeiten, ver-walten und die zugehörigen Details anzeigen.

Verfahren

1 Melden Sie sich über einen Browser bei NSX Manager unter https://<nsx-manager-IP-address-or-domain-name> an.

2 Wählen Sie DDI aus.

Es wird eine Liste der vorhandenen IP-Blöcke angezeigt.

VMware, Inc. 30

3 Führen Sie eine der folgenden Aktionen durch.

Option Aktion

Hinzufügen eines IP-Blocks Klicken Sie auf HINZUFÜGEN.

Löschen eines oder mehrerer IP-Blö-cke

Wählen Sie einen oder mehrere IP-Blöcke aus, und klicken Sie auf LÖSCHEN.

Bearbeiten eines IP-Blocks Wählen Sie einen IP-Block aus, und klicken Sie auf BEARBEITEN.

Anzeigen von Details zu einem IP-Block

Klicken Sie auf den Namen des IP-Blocks. Klicken Sie auf die RegisterkarteÜbersicht, um allgemeine Informationen anzuzeigen. Klicken Sie auf die Regis-terkarte Subnetze, um die Subnetze dieses IP-Blocks anzuzeigen.

Verwalten von Tags für einen IP-Block Wählen Sie einen IP-Block aus, und klicken Sie auf AKTIONEN > Tags verwal-ten.

IP-Blöcke mit zugeteilten Subnetzen können nicht gelöscht werden.

Verwalten von IP-Block-Subnetzen über die GUI von NSXManagerSie können Subnetze für einen IP-Block über die NSX Manager-GUI hinzufügen und löschen.

Verfahren

1 Melden Sie sich über einen Browser bei NSX Manager unter https://<nsx-manager-IP-address-or-domain-name> an.

2 Wählen Sie DDI aus.

Es wird eine Liste der vorhandenen IP-Blöcke angezeigt.

3 Klicken Sie auf den Namen eines IP-Blocks.

4 Klicken Sie auf die Registerkarte Subnetze.

5 Führen Sie eine der folgenden Aktionen durch.

Option Aktion

Hinzufügen eines IP-Block-Subnetzes Klicken Sie auf HINZUFÜGEN.

Löschen eines oder mehrerer IP-Block-Subnetze

Wählen Sie ein oder mehrere Subnetze aus, und klicken Sie auf LÖSCHEN.

CIF-verknüpfte logische PortsCIFs (Container Interfaces) sind Netzwerkschnittstellen für Container, die mit logischen Ports auf einemSwitch verbunden sind. Diese Ports werden als CIF-verknüpfte logische Ports bezeichnet.

Sie können CIF-verknüpfte logische Ports über die NSX Manager-GUI verwalten.

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 31

Verwalten von CIF-verknüpften logischen PortsNavigieren Sie zu Switching > Ports, um alle logischen Ports anzuzeigen, einschließlich der CIF-ver-knüpften logischen Ports. Klicken Sie auf die Anhangsverknüpfung eines CIF-verknüpften logischenPorts, um die Anlageninformationen anzuzeigen. Klicken Sie auf den Link des logischen Ports, um einenFensterbereich mit vier Registerkarten zu öffnen: „Übersicht“, „Überwachen“, „Verwalten“ und „Zugehö-rig“. Wenn Sie auf Zugehörig > Logische Ports klicken, wird der zugehörige logische Port auf einemUplink-Switch angezeigt. Weitere Informationen zu Switch-Ports finden Sie im NSX-T-Administratorhand-buch.

NetzwerküberwachungstoolsDie folgenden Tools unterstützen CIF-verknüpfte logische Ports. Weitere Informationen zu diesen Toolsfinden Sie im NSX-T-Administratorhandbuch.

n Traceflow

n Portverbindung

n IPFIX

n Die Remote-Portspiegelung mit GRE-Kapselung eins logischen Switch-Ports, der mit einem Contai-ner verbunden ist, wird unterstützt. Weitere Informationen finden Sie unter „Grundlegendes zum Swit-ching-Profil für die Portspiegelung“ im NSX-T-Administratorhandbuch. Die Portspiegelung desCIF/VIF-Ports wird jedoch nicht unterstützt.

Die verteilte Netzwerkverschlüsselung wird in dieser Version nicht unterstützt.

CLI-BefehleUm CLI-Befehle auszuführen, melden Sie sich beim NSX-T Container Plug-in-Container an, öffnen Sieein Terminal, und führen Sie den Befehl nsxcli aus.

Sie können die CLI-Eingabeaufforderung auch aufrufen, indem Sie den folgenden Befehl für einen Kno-ten ausführen:

kubectl exec -it <pod name> nsxcli

Tabelle 5‑1. CLI-Befehle für den NCP-Container

Typ Befehl

Status get ncp-master status

Status get ncp-nsx status

Status get ncp-watcher <Watcher-Name>

Status get ncp-watchers

Status get ncp-k8s-api-server status

Status check projects

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 32

Tabelle 5‑1. CLI-Befehle für den NCP-Container (Fortsetzung)

Typ Befehl

Status check project <project-name>

Cache get project-cache <Projektname>

Cache get project-caches

Cache get namespace-cache <Namensraum-Name>

Cache get namespace-caches

Cache get pod-cache <Pod-Name>

Cache get pod-caches

Cache get ingress-caches

Cache get ingress-cache <ingress-name>

Cache get ingress-controllers

Cache get ingress-controller <ingress-controller-name>

Cache get network-policy-caches

Cache get network-policy-cache <pod-name>

Support get ncp-log file <Dateiname>

Support get ncp-log-level

Support set ncp-log-level <log-level>

Support get support-bundle file <Dateiname>

Support get node-agent-log file <Dateiname>

Support get node-agent-log file <Dateiname> <Knotenname>

Tabelle 5‑2. CLI-Befehle für den NSX-Knoten-Agent-Container

Typ Befehl

Status get node-agent-hyperbus status

Cache get container-cache <Containername>

Cache get container-caches

Tabelle 5‑3. CLI-Befehle für den NSX-Kube-Proxy-Container

Typ Befehl

Status get ncp-k8s-api-server status

Status get kube-proxy-watcher <Watcher-Name>

Status get kube-proxy-watchers

Status dump ovs-flows

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 33

Statusbefehle für den NCP-Containern Status des NCP-Masters anzeigen

get ncp-master status

Beispiel:

kubenode> get ncp-master status

This instance is not the NCP master

Current NCP Master id is a4h83eh1-b8dd-4e74-c71c-cbb7cc9c4c1c

Last master update at Wed Oct 25 22:46:40 2017

n Verbindungsstatus zwischen NCP und NSX Manager anzeigen

get ncp-nsx status

Beispiel:

kubenode> get ncp-nsx status

NSX Manager status: Healthy

n Watcher-Status für eingehenden Datenverkehr, Namensraum, Pod und Dienst anzeigen

get ncp-watcher <watcher-name>

get ncp-watchers

Beispiel 1:

kubenode> get ncp-watcher pod

Average event processing time: 1174 msec (in past 3600-sec window)

Current watcher started time: Mar 02 2017 10:47:35 PST

Number of events processed: 1 (in past 3600-sec window)

Total events processed by current watcher: 1

Total events processed since watcher thread created: 1

Total watcher recycle count: 0

Watcher thread created time: Mar 02 2017 10:47:35 PST

Watcher thread status: Up

Beispiel 2:

kubenode> get ncp-watchers

pod:

Average event processing time: 1145 msec (in past 3600-sec window)

Current watcher started time: Mar 02 2017 10:51:37 PST

Number of events processed: 1 (in past 3600-sec window)

Total events processed by current watcher: 1

Total events processed since watcher thread created: 1

Total watcher recycle count: 0

Watcher thread created time: Mar 02 2017 10:51:37 PST

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 34

Watcher thread status: Up

namespace:

Average event processing time: 68 msec (in past 3600-sec window)

Current watcher started time: Mar 02 2017 10:51:37 PST

Number of events processed: 2 (in past 3600-sec window)

Total events processed by current watcher: 2

Total events processed since watcher thread created: 2

Total watcher recycle count: 0

Watcher thread created time: Mar 02 2017 10:51:37 PST

Watcher thread status: Up

ingress:

Average event processing time: 0 msec (in past 3600-sec window)

Current watcher started time: Mar 02 2017 10:51:37 PST

Number of events processed: 0 (in past 3600-sec window)

Total events processed by current watcher: 0

Total events processed since watcher thread created: 0

Total watcher recycle count: 0

Watcher thread created time: Mar 02 2017 10:51:37 PST

Watcher thread status: Up

service:

Average event processing time: 3 msec (in past 3600-sec window)

Current watcher started time: Mar 02 2017 10:51:37 PST

Number of events processed: 1 (in past 3600-sec window)

Total events processed by current watcher: 1

Total events processed since watcher thread created: 1

Total watcher recycle count: 0

Watcher thread created time: Mar 02 2017 10:51:37 PST

Watcher thread status: Up

n Verbindungsstatus zwischen NCP und Kubernetes-API-Server anzeigen

get ncp-k8s-api-server status

Beispiel:

kubenode> get ncp-k8s-api-server status

Kubernetes ApiServer status: Healthy

n Alle Projekte oder ein bestimmtes Projekt überprüfen

check projects

check project <project-name>

Beispiel:

kubenode> check projects

default:

Tier-1 link port for router 1b90a61f-0f2c-4768-9eb6-ea8954b4f327 is missing

Switch 40a6829d-c3aa-4e17-ae8a-7f7910fdf2c6 is missing

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 35

ns1:

Router 8accc9cd-9883-45f6-81b3-0d1fb2583180 is missing

kubenode> check project default

Tier-1 link port for router 1b90a61f-0f2c-4768-9eb6-ea8954b4f327 is missing

Switch 40a6829d-c3aa-4e17-ae8a-7f7910fdf2c6 is missing

Cachebefehle für den NCP-Containern Internen Cache für Projekte oder Namensräume abrufen

get project-cache <project-name>

get project-caches

get namespace-cache <namespace-name>

get namespace-caches

Beispiel:

kubenode> get project-caches

default:

logical-router: 8accc9cd-9883-45f6-81b3-0d1fb2583180

logical-switch:

id: 9d7da647-27b6-47cf-9cdb-6e4f4d5a356d

ip_pool_id: 519ff57f-061f-4009-8d92-3e6526e7c17e

subnet: 10.0.0.0/24

subnet_id: f75fd64c-c7b0-4b42-9681-fc656ae5e435

kube-system:

logical-router: 5032b299-acad-448e-a521-19d272a08c46

logical-switch:

id: 85233651-602d-445d-ab10-1c84096cc22a

ip_pool_id: ab1c5b09-7004-4206-ac56-85d9d94bffa2

subnet: 10.0.1.0/24

subnet_id: 73e450af-b4b8-4a61-a6e3-c7ddd15ce751

testns:

ext_pool_id: 346a0f36-7b5a-4ecc-ad32-338dcb92316f

labels:

ns: myns

project: myproject

logical-router: 4dc8f8a9-69b4-4ff7-8fb7-d2625dc77efa

logical-switch:

id: 6111a99a-6e06-4faa-a131-649f10f7c815

ip_pool_id: 51ca058d-c3dc-41fd-8f2d-e69006ab1b3d

subnet: 50.0.2.0/24

subnet_id: 34f79811-bd29-4048-a67d-67ceac97eb98

project_nsgroup: 9606afee-6348-4780-9dbe-91abfd23e475

snat_ip: 4.4.0.3

kubenode> get project-cache default

logical-router: 8accc9cd-9883-45f6-81b3-0d1fb2583180

logical-switch:

id: 9d7da647-27b6-47cf-9cdb-6e4f4d5a356d

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 36

ip_pool_id: 519ff57f-061f-4009-8d92-3e6526e7c17e

subnet: 10.0.0.0/24

subnet_id: f75fd64c-c7b0-4b42-9681-fc656ae5e435

kubenode> get namespace-caches

default:

logical-router: 8accc9cd-9883-45f6-81b3-0d1fb2583180

logical-switch:

id: 9d7da647-27b6-47cf-9cdb-6e4f4d5a356d

ip_pool_id: 519ff57f-061f-4009-8d92-3e6526e7c17e

subnet: 10.0.0.0/24

subnet_id: f75fd64c-c7b0-4b42-9681-fc656ae5e435

kube-system:

logical-router: 5032b299-acad-448e-a521-19d272a08c46

logical-switch:

id: 85233651-602d-445d-ab10-1c84096cc22a

ip_pool_id: ab1c5b09-7004-4206-ac56-85d9d94bffa2

subnet: 10.0.1.0/24

subnet_id: 73e450af-b4b8-4a61-a6e3-c7ddd15ce751

testns:

ext_pool_id: 346a0f36-7b5a-4ecc-ad32-338dcb92316f

labels:

ns: myns

project: myproject

logical-router: 4dc8f8a9-69b4-4ff7-8fb7-d2625dc77efa

logical-switch:

id: 6111a99a-6e06-4faa-a131-649f10f7c815

ip_pool_id: 51ca058d-c3dc-41fd-8f2d-e69006ab1b3d

subnet: 50.0.2.0/24

subnet_id: 34f79811-bd29-4048-a67d-67ceac97eb98

project_nsgroup: 9606afee-6348-4780-9dbe-91abfd23e475

snat_ip: 4.4.0.3

kubenode> get namespace-cache default

logical-router: 8accc9cd-9883-45f6-81b3-0d1fb2583180

logical-switch:

id: 9d7da647-27b6-47cf-9cdb-6e4f4d5a356d

ip_pool_id: 519ff57f-061f-4009-8d92-3e6526e7c17e

subnet: 10.0.0.0/24

subnet_id: f75fd64c-c7b0-4b42-9681-fc656ae5e435

n Internen Cache für Pods abrufen

get pod-cache <pod-name>

get pod-caches

Beispiel:

kubenode> get pod-caches

nsx.default.nginx-rc-uq2lv:

cif_id: 2af9f734-37b1-4072-ba88-abbf935bf3d4

gateway_ip: 10.0.0.1

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 37

host_vif: d6210773-5c07-4817-98db-451bd1f01937

id: 1c8b5c52-3795-11e8-ab42-005056b198fb

ingress_controller: False

ip: 10.0.0.2/24

labels:

app: nginx

mac: 02:50:56:00:08:00

port_id: d52c833a-f531-4bdf-bfa2-e8a084a8d41b

vlan: 1

nsx.testns.web-pod-1:

cif_id: ce134f21-6be5-43fe-afbf-aaca8c06b5cf

gateway_ip: 50.0.2.1

host_vif: d6210773-5c07-4817-98db-451bd1f01937

id: 3180b521-270e-11e8-ab42-005056b198fb

ingress_controller: False

ip: 50.0.2.3/24

labels:

app: nginx-new

role: db

tier: cache

mac: 02:50:56:00:20:02

port_id: 81bc2b8e-d902-4cad-9fc1-aabdc32ecaf8

vlan: 3

kubenode> get pod-cache nsx.default.nginx-rc-uq2lv

cif_id: 2af9f734-37b1-4072-ba88-abbf935bf3d4

gateway_ip: 10.0.0.1

host_vif: d6210773-5c07-4817-98db-451bd1f01937

id: 1c8b5c52-3795-11e8-ab42-005056b198fb

ingress_controller: False

ip: 10.0.0.2/24

labels:

app: nginx

mac: 02:50:56:00:08:00

port_id: d52c833a-f531-4bdf-bfa2-e8a084a8d41b

vlan: 1

n Netzwerkrichtlinien-Caches oder einen bestimmten Netzwerkrichtlinien-Cache abrufen

get network-policy caches

get network-policy-cache <network-policy-name>

Beispiel:

kubenode> get network-policy-caches

nsx.testns.allow-tcp-80:

dest_labels: None

dest_pods:

50.0.2.3

match_expressions:

key: tier

operator: In

values:

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 38

cache

name: allow-tcp-80

np_dest_ip_set_ids:

22f82d76-004f-4d12-9504-ce1cb9c8aa00

np_except_ip_set_ids:

np_ip_set_ids:

14f7f825-f1a0-408f-bbd9-bb2f75d44666

np_isol_section_id: c8d93597-9066-42e3-991c-c550c46b2270

np_section_id: 04693136-7925-44f2-8616-d809d02cd2a9

ns_name: testns

src_egress_rules: None

src_egress_rules_hash: 97d170e1550eee4afc0af065b78cda302a97674c

src_pods:

50.0.2.0/24

src_rules:

from:

namespaceSelector:

matchExpressions:

key: tier

operator: DoesNotExist

matchLabels:

ns: myns

ports:

port: 80

protocol: TCP

src_rules_hash: e4ea7b8d91c1e722670a59f971f8fcc1a5ac51f1

kubenode> get network-policy-cache nsx.testns.allow-tcp-80

dest_labels: None

dest_pods:

50.0.2.3

match_expressions:

key: tier

operator: In

values:

cache

name: allow-tcp-80

np_dest_ip_set_ids:

22f82d76-004f-4d12-9504-ce1cb9c8aa00

np_except_ip_set_ids:

np_ip_set_ids:

14f7f825-f1a0-408f-bbd9-bb2f75d44666

np_isol_section_id: c8d93597-9066-42e3-991c-c550c46b2270

np_section_id: 04693136-7925-44f2-8616-d809d02cd2a9

ns_name: testns

src_egress_rules: None

src_egress_rules_hash: 97d170e1550eee4afc0af065b78cda302a97674c

src_pods:

50.0.2.0/24

src_rules:

from:

namespaceSelector:

matchExpressions:

key: tier

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 39

operator: DoesNotExist

matchLabels:

ns: myns

ports:

port: 80

protocol: TCP

src_rules_hash: e4ea7b8d91c1e722670a59f971f8fcc1a5ac51f1

Supportbefehle für den NCP-Containern NCP-Support-Paket im Dateispeicher speichern

Das Support-Paket umfasst die Protokolldateien für alle Container in Pods mit der Bezeichnungtier:nsx-networking. Die Paketdatei liegt im TGZ-Format vor und befindet sich im CLI-Standard-Dateispeicherverzeichnis /var/vmware/nsx/file-store. Mithilfe des CLI-Befehls „file-store“ kön-nen Sie die Paketdatei in eine Remote-Site kopieren.

get support-bundle file <filename>

Beispiel:

kubenode>get support-bundle file foo

Bundle file foo created in tgz format

kubenode>copy file foo url scp://[email protected]:/tmp

n NCP-Protokolle im Dateispeicher speichern

Die Protokolldatei wird im TGZ-Format im CLI-Standard-Dateispeicherverzeichnis /var/vmwa-re/nsx/file-store gespeichert. Mithilfe des CLI-Befehls „file-store“ können Sie die Paketdatei ineine Remote-Site kopieren.

get ncp-log file <filename>

Beispiel:

kubenode>get ncp-log file foo

Log file foo created in tgz format

n Knoten-Agent-Protokolle im Dateispeicher speichern

Speichern Sie die Knoten-Agent-Protokolle von einem oder allen Knoten. Die Protokolle werden imTGZ-Format im CLI-Standard-Dateispeicherverzeichnis /var/vmware/nsx/file-store gespeichert.Mithilfe des CLI-Befehls „file-store“ können Sie die Paketdatei in eine Remote-Site kopieren.

get node-agent-log file <filename>

get node-agent-log file <filename> <node-name>

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 40

Beispiel:

kubenode>get node-agent-log file foo

Log file foo created in tgz format

n Protokollebene abrufen und einrichten

Zu den verfügbaren Protokollebenen gehören: NOTSET, DEBUG, INFO, WARNING, ERROR und CRITICAL.

get ncp-log-level

set ncp-log-level <log level>

Beispiel:

kubenode>get ncp-log-level

NCP log level is INFO

kubenode>set ncp-log-level DEBUG

NCP log level is changed to DEBUG

Status-Befehle für den NSX-Knoten-Agent-Containern Zeigen Sie den Verbindungsstatus zwischen dem Knoten-Agent und HyperBus auf diesem Knoten

an.

get node-agent-hyperbus status

Beispiel:

kubenode> get node-agent-hyperbus status

HyperBus status: Healthy

Cache-Befehle für den NSX-Knoten-Agent-Containern Internen Cache für NSX-Knoten-Agent-Container abrufen

get container-cache <container-name>

get container-caches

Beispiel 1:

kubenode> get container-cache cif104

ip: 192.168.0.14/32

mac: 50:01:01:01:01:14

gateway_ip: 169.254.1.254/16

vlan_id: 104

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 41

Beispiel 2:

kubenode> get container-caches

cif104:

ip: 192.168.0.14/32

mac: 50:01:01:01:01:14

gateway_ip: 169.254.1.254/16

vlan_id: 104

Status-Befehle für den NSX-Kube-Proxy-Containern Verbindungsstatus zwischen Kube-Proxy und Kubernetes-API-Server anzeigen

get ncp-k8s-api-server status

Beispiel:

kubenode> get kube-proxy-k8s-api-server status

Kubernetes ApiServer status: Healthy

n Kube-Proxy-Watcher-Status anzeigen

get kube-proxy-watcher <watcher-name>

get kube-proxy-watchers

Beispiel 1:

kubenode> get kube-proxy-watcher endpoint

Average event processing time: 15 msec (in past 3600-sec window)

Current watcher started time: May 01 2017 15:06:24 PDT

Number of events processed: 90 (in past 3600-sec window)

Total events processed by current watcher: 90

Total events processed since watcher thread created: 90

Total watcher recycle count: 0

Watcher thread created time: May 01 2017 15:06:24 PDT

Watcher thread status: Up

Beispiel 2:

kubenode> get kube-proxy-watchers

endpoint:

Average event processing time: 15 msec (in past 3600-sec window)

Current watcher started time: May 01 2017 15:06:24 PDT

Number of events processed: 90 (in past 3600-sec window)

Total events processed by current watcher: 90

Total events processed since watcher thread created: 90

Total watcher recycle count: 0

Watcher thread created time: May 01 2017 15:06:24 PDT

Watcher thread status: Up

service:

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 42

Average event processing time: 8 msec (in past 3600-sec window)

Current watcher started time: May 01 2017 15:06:24 PDT

Number of events processed: 2 (in past 3600-sec window)

Total events processed by current watcher: 2

Total events processed since watcher thread created: 2

Total watcher recycle count: 0

Watcher thread created time: May 01 2017 15:06:24 PDT

Watcher thread status: Up

n OVS-Flows für Speicherabbild an einem Knoten

dump ovs-flows

Beispiel:

kubenode> dump ovs-flows

NXST_FLOW reply (xid=0x4):

cookie=0x0, duration=8.876s, table=0, n_packets=0, n_bytes=0, idle_age=8, priority=100,ip ac-

tions=ct(table=1)

cookie=0x0, duration=8.898s, table=0, n_packets=0, n_bytes=0, idle_age=8, priority=0 ac-

tions=NORMAL

cookie=0x0, duration=8.759s, table=1, n_packets=0, n_bytes=0, idle_age=8, priori-

ty=100,tcp,nw_dst=10.96.0.1,tp_dst=443 actions=mod_tp_dst:443

cookie=0x0, duration=8.719s, table=1, n_packets=0, n_bytes=0, idle_age=8, priori-

ty=100,ip,nw_dst=10.96.0.10 actions=drop

cookie=0x0, duration=8.819s, table=1, n_packets=0, n_bytes=0, idle_age=8, priori-

ty=90,ip,in_port=1 actions=ct(table=2,nat)

cookie=0x0, duration=8.799s, table=1, n_packets=0, n_bytes=0, idle_age=8, priority=80,ip ac-

tions=NORMAL

cookie=0x0, duration=8.856s, table=2, n_packets=0, n_bytes=0, idle_age=8, actions=NORMAL

FehlercodesIn diesem Abschnitt werden die Fehlercodes der verschiedenen Komponenten aufgelistet.

NCP-Fehlercodes

Fehlercode Beschreibung

NCP00001 Ungültige Konfiguration

NCP00002 Initialisierung fehlgeschlagen

NCP00003 Ungültiger Zustand

NCP00004 Ungültiger Adapter

NCP00005 Zertifikat wurde nicht gefunden

NCP00006 Token wurde nicht gefunden

NCP00007 Ungültige Konfiguration für NSX

NCP00008 Ungültiges NSX-Tag

NCP00009 NSX-Verbindung fehlgeschlagen

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 43

Fehlercode Beschreibung

NCP00010 Knoten-Tag nicht gefunden

NCP00011 Ungültiger logischer Switch-Port des Knotens

NCP00012 Aktualisieren der übergeordneten VIF fehlgeschlagen

NCP00013 VLAN ausgeschöpft

NCP00014 VLAN-Version ist fehlgeschlagen

NCP00015 IP-Pool ist ausgeschöpft

NCP00016 IP-Version ist fehlgeschlagen

NCP00017 IP-Block ausgeschöpft

NCP00018 Erstellen des IP-Subnetzes ist fehlgeschlagen

NCP00019 Löschen des IP-Subnetzes ist fehlgeschlagen

NCP00020 Erstellen des IP-Pools ist fehlgeschlagen

NCP00021 Löschen des IP-Pools ist fehlgeschlagen

NCP00022 Erstellen des logischen Routers ist fehlgeschlagen

NCP00023 Aktualisieren des logischen Routers ist fehlgeschlagen

NCP00024 Löschen des logischen Routers ist fehlgeschlagen

NCP00025 Erstellen des logischen Switches ist fehlgeschlagen

Fehlercode Beschreibung

NCP00026 Aktualisieren des logischen Switches ist fehlgeschlagen

NCP00027 Löschen des logischen Switches ist fehlgeschlagen

NCP00028 Erstellen des Ports für den logischen Router ist fehlgeschlagen

NCP00029 Löschen des Ports für den logischen Router ist fehlgeschlagen

NCP00030 Erstellen des Ports für den logischen Switch ist fehlgeschlagen

NCP00031 Aktualisieren des Ports für den logischen Switch ist fehlgeschlagen

NCP00032 Löschen des Ports für den logischen Switch ist fehlgeschlagen

NCP00033 Netzwerkrichtlinie wurde nicht gefunden

NCP00034 Erstellen der Firewall ist fehlgeschlagen

NCP00035 Lesen der Firewall ist fehlgeschlagen

NCP00036 Aktualisieren der Firewall ist fehlgeschlagen

NCP00037 Löschen der Firewall ist fehlgeschlagen

NCP00038 Mehrere Firewalls gefunden

NCP00039 Erstellen der NS-Gruppe ist fehlgeschlagen

NCP00040 Löschen der NS-Gruppe ist fehlgeschlagen

NCP00041 Erstellen von IP Set ist fehlgeschlagen

NCP00042 Aktualisieren von IP Set ist fehlgeschlagen

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 44

Fehlercode Beschreibung

NCP00043 Löschen von IP Set ist fehlgeschlagen

NCP00044 Erstellen der SNAT-Regel ist fehlgeschlagen

NCP00045 Löschen der SNAT-Regel ist fehlgeschlagen

NCP00046 Adapter-API-Verbindung ist fehlgeschlagen

NCP00047 Adapter-Watcher-Ausnahme

NCP00048 Löschen des Load Balancer-Diensts ist fehlgeschlagen

NCP00049 Erstellen des virtuellen Servers für den Load Balancer ist fehlgeschlagen

NCP00050 Aktualisieren des virtuellen Servers für den Load Balancer ist fehlgeschlagen

Fehlercode Beschreibung

NCP00051 Löschen des virtuellen Servers für den Load Balancer ist fehlgeschlagen

NCP00052 Erstellen des Load Balancer-Pools ist fehlgeschlagen

NCP00053 Aktualisieren des Load Balancer-Pools ist fehlgeschlagen

NCP00054 Löschen des Load Balancer-Pools ist fehlgeschlagen

NCP00055 Erstellen der Load Balancer-Regel ist fehlgeschlagen

NCP00056 Aktualisieren des Load Balancer-Pools ist fehlgeschlagen

NCP00057 Löschen der Load Balancer-Regel ist fehlgeschlagen

NCP00058 IP-Freigabe für Load Balancer-Pool ist fehlgeschlagen

NCP00059 Zuordnung von virtuellem Server und Dienstzuordnung für Load Balancer nicht gefunden

NCP00060 Aktualisieren der NS-Gruppe ist fehlgeschlagen

NCP00061 Abrufen der Firewallregeln ist fehlgeschlagen

NCP00062 NS-Gruppe – keine Kriterien

NCP00063 Knoten-VM nicht gefunden

NCP00064 Knoten-VIF nicht gefunden

NCP00065 Zertifikatimport ist fehlgeschlagen

NCP00066 Rückgängigmachen des Zertifikats ist fehlgeschlagen

NCP00067 Aktualisieren der SSL-Bindung ist fehlgeschlagen

NCP00068 SSL-Profil nicht gefunden

NCP00069 IP-Pool nicht gefunden

NCP00070 T0-Edge-Cluster nicht gefunden

NCP00071 Aktualisieren des IP-Pools ist fehlgeschlagen

NCP00072 Dispatcher ist fehlgeschlagen

NCP00073 Löschen der NAT-Regel ist fehlgeschlagen

NCP00074 Abrufen des Ports für den logischen Router ist fehlgeschlagen

NCP00075 NSX-Konfigurationsvalidierung ist fehlgeschlagen

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 45

Fehlercode Beschreibung

NCP00076 Aktualisieren der SNAT-Regel ist fehlgeschlagen

NCP00077 SNAT-Regel überlagert

NCP00078 Hinzufügen der Load Balancer-Endpoints ist fehlgeschlagen

NCP00079 Aktualisieren der Load Balancer-Endpoints ist fehlgeschlagen

NCP00080 Erstellen des Load Balancer-Regelpools ist fehlgeschlagen

NCP00081 Virtueller Server für Load Balancer nicht gefunden

NCP00082 Lesen von IP Set ist fehlgeschlagen

NCP00083 Abrufen von SNAT-Pool ist fehlgeschlagen

NCP00084 Erstellen des Load Balancer-Diensts ist fehlgeschlagen

NCP00085 Aktualisieren des Load Balancer-Diensts ist fehlgeschlagen

NCP00086 Aktualisieren des Ports für den logischen Router ist fehlgeschlagen

NCP00087 Load Balancer-Initialisierung ist fehlgeschlagen

NCP00088 IP-Pool nicht eindeutig

NCP00089 Layer 7 des Load Balancers – Cache-Synchronisierungsfehler

NCP00090 Fehler, da Load Balancer-Pool nicht vorhanden

NCP00091 Fehler beim Initialisieren des Load Balancer-Regelcaches

NCP00092 SNAT-Prozess ist fehlgeschlagen

NCP00093 Fehler bei Load Balancer-Standardzertifikat

NCP00094 Löschen des Load Balancer-Endpoints ist fehlgeschlagen

NCP00095 Projekt nicht gefunden

Fehlercodes für NSX-Knoten-Agent

Fehlercode Beschreibung

NCP01001 OVS-Uplink nicht gefunden

NCP01002 Host-MAC nicht gefunden

NCP01003 OVS-Porterstellung ist fehlgeschlagen

NCP01004 Keine Pod-Konfiguration

NCP01005 Pod-Konfiguration ist fehlgeschlagen

NCP01006 Aufheben der Pod-Konfiguration ist fehlgeschlagen

NCP01007 CNI-Socket nicht gefunden

NCP01008 CNI-Verbindung ist fehlgeschlagen

NCP01009 CNI-Version stimmt nicht überein

NCP01010 CNI-Nachrichtenempfang ist fehlgeschlagen

NCP01011 CNI-Nachrichtenübertragung ist fehlgeschlagen

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 46

Fehlercode Beschreibung

NCP01012 Hyperbus-Verbindung ist fehlgeschlagen

NCP01013 Hyperbus-Version stimmt nicht überein

NCP01014 Fehler beim Empfang der Hyperbus-Nachricht

NCP01015 Hyperbus-Nachrichtenübertragung ist fehlgeschlagen

NCP01016 GARP-Senden ist fehlgeschlagen

NCP01017 Schnittstellenkonfiguration ist fehlgeschlagen

Fehlercodes für nsx-kube-proxy

Fehlercode Beschreibung

NCP02001 Ungültiger Gateway-Port des Proxys

NCP02002 Proxy-Befehl ist fehlgeschlagen

NCP02003 Proxy-Validierung ist fehlgeschlagen

CLI-Fehlercodes

Fehlercode Beschreibung

NCP03001 CLI-Start ist fehlgeschlagen

NCP03002 Erstellen des CLI-Sockets ist fehlgeschlagen

NCP03003 CLI-Socket-Ausnahme

NCP03004 Ungültige Anforderung von CLI-Client

NCP03005 CLI-Server-Übertragung ist fehlgeschlagen

NCP03006 CLI-Server-Empfang ist fehlgeschlagen

NCP03007 CLI-Befehlsausführung ist fehlgeschlagen

Fehlercodes für Kubernetes

Fehlercode Beschreibung

NCP05001 Kubernetes-Verbindung ist fehlgeschlagen

NCP05002 Ungültige Konfiguration für Kubernetes

NCP05003 Kubernetes-Anforderung ist fehlgeschlagen

NCP05004 Kubernetes-Schlüssel nicht gefunden

NCP05005 Kubernetes-Typ nicht gefunden

NCP05006 Ausnahme bei Kubernetes-Wächter

NCP05007 Kubernetes-Ressource weist ungültige Länge auf

NCP05008 Kubernetes-Ressource weist ungültigen Typ auf

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 47

Fehlercode Beschreibung

NCP05009 Kubernetes-Ressourcen-Handle ist fehlgeschlagen

NCP05010 Kubernetes-Dienst-Handle ist fehlgeschlagen

NCP05011 Kubernetes-Endpoint-Handle ist fehlgeschlagen

NCP05012 Kubernetes-Ingress-Handle ist fehlgeschlagen

NCP05013 Kubernetes-Netzwerkrichtlinien-Handle ist fehlgeschlagen

NCP05014 Kubernetes-Knoten-Handle ist fehlgeschlagen

NCP05015 Kubernetes-Namespace-Handle ist fehlgeschlagen

NCP05016 Kubernetes-Pod-Handle ist fehlgeschlagen

NCP05017 Kubernetes-Secret-Handle ist fehlgeschlagen

NCP05018 Kubernetes-Standard-Backend ist fehlgeschlagen

NCP05019 Nicht unterstützter Übereinstimmungsausdruck für Kubernetes

NCP05020 Aktualisieren des Kubernetes-Status ist fehlgeschlagen

NCP05021 Aktualisieren des Kubernetes-Kommentars ist fehlgeschlagen

NCP05022 Kubernetes-Namespace-Cache nicht gefunden

NCP05023 Kubernetes-Secret nicht gefunden

Fehlercodes für OpenShift

Fehlercode Beschreibung

NCP07001 OC-Routen-Handle ist fehlgeschlagen

NCP07002 Aktualisieren des OC-Routenstatus ist fehlgeschlagen

NSX-T Container Plug-In für OpenShift – Installations- und Administratorhandbuch

VMware, Inc. 48