準備 Kubernetes 節點的多數步驟會分別由在 nsx-node-agent 和 nsx-ncp-bootstrap 中執行的兩個容器 (nsx-ovs 和 nsx-ncp-bootstrap) 自動化。
安裝 NCP 之前,請確定 Kubernetes 節點已安裝 Python 並可透過命令列介面進行存取。您可以使用 Linux 套件管理員進行安裝。例如,在 Ubuntu 上,您可以執行命令 apt install python。
sudo cat /sys/module/apparmor/parameters/enabled
sudo /etc/init.d/apparmor status
ncp-apparmor 設定檔檔案會針對名為 node-agent-apparmor 的 NSX 節點代理程式提供 AppArmor 設定檔,其與 docker-default 設定檔之間存在下列差異:
- deny mount規則便會移除。
- mount規則便會新增。
- 會新增一些 network、capability、file 和 umount 選項。
您可以使用其他設定檔取代 node-agent-apparmor 設定檔。如果您這麼做,則必須在 NCP YAML 檔案中變更設定檔名稱 node-agent-apparmor。
- /etc/cni/net.d
- /etc/apparmor.d/ncp-apparmor
- /opt/cni/bin/nsx
- /opt/cni/bin/nsx
- /etc/cni/net.d/99-loopback.conf
- /etc/cni/net.d/10-nsx.conflist
- /etc/apparmor.d/ncp-apparmor
如果檔案 /opt/cni/bin/loopback 和 /etc/cni/net.d/99-loopback.conf 存在,則不會覆寫這些檔案。如果作業系統類型為 Ubuntu,則也會將檔案 ncp-apparmor 複製到主機。
啟動程序容器會將 IP 位址和路由從 br-int 移至 node-if。如果是在主機上執行,也將會停止 OVS,因為 OVS 將在 nsx-ovs 容器內執行。nsx-ovs 容器將建立 br-int 執行個體 (如果不存在),將連結至節點邏輯交換器的網路介面 (node-if) 新增至 br-int,並確定 br-int 和 node-if 連結狀態運作中。會將 IP 位址和路由從 node-if 移至 br-int。重新啟動 nsx-node-agent 網繭或 nsx-ovs 容器時,將會停機幾秒鐘。
auto eth1 iface eth1 inet static address 172.16.1.4/24 #persistent static routes up route add -net 172.16.1.3/24 gw 172.16.1.1 dev eth1
然後執行命令 ifdown eth1; ifup eth1。
HWADDR=00:0C:29:B7:DC:6F TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=172.10.0.2 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV4_DNS_PRIORITY=100 IPV6INIT=no NAME=eth1 UUID=39317e23-909b-45fc-9951-849ece53cb83 DEVICE=eth1 ONBOOT=yes
然後執行命令 systemctl restart network.service。
如需設定 RHEL 持續路由的相關資訊,請參閱https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sec-configuring_static_routes_in_ifcfg_files。
如有必要,您可以復原啟動程序容器所做的變更。如需詳細資訊,請參閱清理 Kubernetes 節點。