Introduzione
In questo documento viene descritto il processo per attivare la modifica del bridge di rete predefinito nel programma di installazione in modo che non sia in conflitto con una rete privata e l'installazione possa essere completata.
Problema
Il bridge di docker suite predefinito utilizza l'intervallo IP 172.18.0.0/16 e ciò può interferire con una rete privata. Quando il programma di installazione viene caricato, è possibile che non sia più possibile eseguire il routing tra il programma di installazione e la rete privata. Questo ponte si può vedere attraverso:
ip address show
Quando si accede alla VM del programma di installazione. Questo bridge è visibile anche in docker tramite:
docker network ls
Dovrebbe essere simile alla seguente:
[root@rcdn-ccs-repo ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
eadee20d76ce bridge bridge local
3a009a3d7747 host host local
f4ca595dfac5 none null local
5b0dbc510082 suite bridge local
Prerequisiti
1. Quando si distribuisce VM installer (ova o qws2), è necessario essere in grado di accedere a esso, quindi se si utilizza VMware, è necessario modificare l'ID istanza predefinita e il nome host quando si distribuisce l'OVA e aggiungere una chiave pubblica o una password.
2. Se usi Openstack, passa semplicemente una chiave.
Soluzione
Passaggio 1. Accedere al programma di installazione.
Passaggio 2. Scollegare i contenitori del programma di installazione suite dal bridge corrente tramite:
docker network disconnect suite suite-prod-mgmt
docker network disconnect suite suite-nginx
docker network disconnect suite suite-installer-ui
docker network disconnect suite suite-k8s-mgmt
Passaggio 3. Se al bridge suite sono connessi altri contenitori, è necessario disconnetterli in modo analogo.
Passaggio 4. Dopo aver disconnesso tutti i container dal bridge, è necessario rimuovere il bridge tramite:
docker network rm suite
Passaggio 5. È ora necessario creare un nuovo bridge di docker con lo stesso nome ma con una rete /16 diversa per evitare conflitti con la rete privata. Nell'esempio di comando, viene usato 192.168.0.0/16:
docker network create --driver=bridge --subnet=192.168.0.0/16 --gateway=192.168.0.1 suite
Nota: Deve essere una rete /16 e deve essere denominata suite.
Passaggio 6. Riavviare la VM del programma di installazione tramite:
shutdown -r now
Passaggio 7. Accedere nuovamente alla VM.
Passaggio 8. Verificare che i contenitori del programma di installazione suite siano attivi e in esecuzione tramite:
docker ps
Il formato dovrebbe essere simile al seguente:
[root@rcdn-ccs-repo ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d437dab65b9 devhub-docker.cisco.com/multicloudsuite-release/suite-nginx:5.0.0-RC2.8 "/entrypoint.sh" 13 days ago Up 13 days 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp suite-nginx
6bbffff3c248 devhub-docker.cisco.com/multicloudsuite-release/suite-prod-mgmt:5.0.0-RC2.8 "/entrypoint.sh" 13 days ago Up 13 days 8080/tcp suite-prod-mgmt
515754611a28 devhub-docker.cisco.com/multicloudsuite-release/suite-k8s-mgmt:5.0.0-RC2.8 "/entrypoint.sh" 13 days ago Up 13 days 8080/tcp suite-k8s-mgmt
8cd9d0c6ddb4 devhub-docker.cisco.com/multicloudsuite-release/suite-installer-ui:5.0.0-RC2.8 "npm start" 13 days ago Up 13 days 8080/tcp suite-installer-ui
Passaggio 9. È quindi possibile verificare che il bridge *NEW* suite funzioni correttamente con:
docker network inspect suite
Dovrebbe essere simile a questo con il tuo *NUOVO* intervallo ip come indirizzi IPv4:
[root@rcdn-ccs-repo ~]# docker network inspect suite
[
{
"Name": "suite",
"Id": "5b0dbc51008296cccbc766cfd44da1ce95e2cc803fd208e28af60b7931737485",
"Created": "2019-02-14T20:41:25.323694587Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.0.0/16",
"Gateway": "192.168.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Containers": {
"515754611a28d25ad43cb028ca133755fe7fe97609efe62f142c77607167844b": {
"Name": "suite-k8s-mgmt",
"EndpointID": "9e9e3860e284548a8634eef0dfc208da26532a0d5f696ad60aba0edf9a05ba73",
"MacAddress": "02:42:ac:12:00:03",
"IPv4Address": "192.168.0.3/16",
"IPv6Address": ""
},
"6bbffff3c24848028c0ea9b4294dcf47e78486acdaa0895747adbaed93aee83a": {
"Name": "suite-prod-mgmt",
"EndpointID": "d3f7b14f0c5101df9a17ca857d7b6fb1bbbd47063d3538cdfcad982c01f120e0",
"MacAddress": "02:42:ac:12:00:04",
"IPv4Address": "192.168.0.4/16",
"IPv6Address": ""
},
"8cd9d0c6ddb4424af25898131b68d22ca531c954c032d345981a25c90e9a3777": {
"Name": "suite-installer-ui",
"EndpointID": "47bf559917bb044b4a06a1010685b2388a670c29979fa4201d922445f31da63e",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "192.168.0.2/16",
"IPv6Address": ""
},
"8d437dab65b9ec19307f194ed50201163c486f5f2aff5133d8ecd4a7c014a656": {
"Name": "suite-nginx",
"EndpointID": "1a445b1b0d7208921e29fd64605992b259c5d1071513434768ec39ca68509cd9",
"MacAddress": "02:42:ac:12:00:05",
"IPv4Address": "192.168.0.5/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
Passaggio 10. Da qui dovrebbe essere possibile andare a https://<INSTALLER_VM_IP> e caricare il programma di installazione e non avere conflitti di rete privati/interni.