Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Konfigurieren von NetScaler CPX in Kubernetes mithilfe von ConfigMaps
In Kubernetes können Sie die NetScaler CPX-Instanz mithilfe von ConfigMaps konfigurieren. Mit ConfigMaps können Sie die NetScaler CPX-Instanz während des Starts der Instanz dynamisch konfigurieren.
Erstellen Sie eine cpx.conf
Konfigurationsdatei, die NetScaler-spezifische Konfiguration und Bash-Shell-Befehle enthält, die Sie dynamisch auf der NetScaler CPX-Instanz ausführen möchten. Für die Struktur der Konfigurationsdatei sind zwei Typen von Tags erforderlich, #NetScaler Commands
und #Shell Commands
. Unter dem #NetScaler Commands
Tag müssen Sie alle NetScaler-Befehle hinzufügen, um die NetScaler-spezifische Konfiguration auf der NetScaler CPX-Instanz zu konfigurieren. Unter dem #Shell Commands
Tag müssen Sie die Shell-Befehle hinzufügen, die Sie auf der NetScaler CPX-Instanz ausführen möchten.
Wichtig:
- Die Tags können in der Konfigurationsdatei mehrfach wiederholt werden.
- Die Konfigurationsdatei kann auch Kommentare enthalten. Füge vor Kommentaren ein “#” -Zeichenhinzu.
- Bei den Markierungen wird die Groß-/Kleinschreibung nicht beachtet
- Wenn es bei der Bereitstellung des NetScaler CPX-Containers mit der Konfigurationsdatei Ausfallszenarien gibt, werden die Fehler in der
ns.log
Datei protokolliert.- Wenn Sie nach dem Start der NetScaler CPX-Instanz die ConfigMap ändern, wird die aktualisierte Konfiguration nur angewendet, wenn die NetScaler CPX-Instanz neu gestartet wird.
Im Folgenden finden Sie ein Beispiel für eine Konfigurationsdatei:
#NetScaler Commands
add lb vserver v1 http 1.1.1.1 80
add service s1 2.2.2.2 http 80
bind lb vserver v1 s1
#Shell Commands
touch /etc/a.txt
echo "this is a" > /etc/a.txt
#NetScaler Commands
add lb vserver v2 http
#Shell Commands
echo "this is a 1" >> /etc/a.txt
#NetScaler Commands
add lb vserver v3 http
Nachdem Sie die Konfigurationsdatei erstellt haben, müssen Sie mit dem kubectl create configmap
Befehl eine ConfigMap aus der Konfigurationsdatei erstellen.
kubectl create configmap cpx-config --from-file=cpx.conf
Im obigen Beispiel können Sie eine ConfigMap erstellen, die auf der Konfigurationsdatei cpx.conf cpx-config
basiert. Sie können diese ConfigMap dann in der YAML-Datei verwenden, die zum Bereitstellen der NetScaler CPX-Instanz verwendet wird.
Sie können die erstellte ConfigMap mit dem kubectl get configmap
Befehl anzeigen.
root@node1:~/yaml# kubectl get configmap cpx-config -o yaml
Musterbeispiel:
apiVersion: v1 data: cpx.conf: | #NetScaler Commands add lb vserver v1 http 1.1.1.1 80 add service s1 2.2.2.2 http 80 bind lb vserver v1 s1 #Shell Commands touch /etc/a.txt echo "this is a" > /etc/a.txt echo "this is the file" >> /etc/a.txt ls >> /etc/a.txt #NetScaler Commands add lb vserver v2 http #Shell Commands echo "this is a 1" >> /etc/a.txt #NetScaler Commands add lb vserver v3 http #end of file kind: ConfigMap metadata: creationTimestamp: 2017-12-26T06:26:50Z name: cpx-config namespace: default resourceVersion: "8865149" selfLink: /api/v1/namespaces/default/configmaps/cpx-config uid: c1c7cb5b-ea05-11e7-914a-926745c10b02
Sie können die erstellte ConfigMap cpx-config
in der YAML-Datei, die für die Bereitstellung der NetScaler CPX-Instanz verwendet wird, wie folgt angeben:
apiVersion: v1
kind: Pod
metadata:
name: cpx-1
labels:
app: cpx-daemon
annotations:
NETSCALER_AS_APP: "True"
spec:
hostNetwork: true
containers:
- name: cpx
image: "quay.io/citrix/citrix-k8s-cpx-ingress:13.1-33.47"
securityContext:
privileged: true
volumeMounts:
- name: config-volume
mountPath: /cpx/bootup_conf
env:
- name: "EULA"
value: "yes"
- name: "NS_NETMODE"
value: "HOST"
- name: "kubernetes_url"
value: "https://10.90.248.101:6443"
- name: "NS_MGMT_SERVER"
value: "10.90.248.99"
- name: "NS_MGMT_FINGER_PRINT"
value: "19:71:A3:36:85:0A:2B:62:24:65:0F:7E:72:CC:DC:AD:B8:BF:53:1E"
- name: "NS_ROUTABLE"
value: "FALSE"
- name: "KUBERNETES_TASK_ID"
valueFrom:
fieldRef:
fieldPath: metadata.name
imagePullPolicy: Never
volumes:
- name: config-volume
configMap:
name: cpx-config
Sobald die NetScaler CPX-Instanz bereitgestellt wurde und die in der ConfigMap angegebene Konfiguration startet, cpx-config
wird sie auf die NetScaler CPX-Instanz angewendet.