Desplegament d’un node satèl·lit de Cyberwatch en un clúster Kubernetes existent
Aquesta pàgina descriu els passos que cal seguir per desplegar un node satèl·lit de Cyberwatch en un clúster Kubernetes existent. Aquest procediment pressuposa que l’usuari té uns coneixements bàsics de l’orquestrador Kubernetes i de Helm.
Procediment de desplegament
Disposeu d’un node mestre de Cyberwatch configurat per permetre la connexió d’un node satèl·lit i tingueu accés SSH a aquest node mestre
Si el node mestre utilitza bases de dades externes, aquestes bases de dades han de ser accessibles des del clúster Kubernetes.
Disposeu d’un clúster que compleixi els requisits tècnics del programari.
Connecteu-vos al repositori de Helm:
helm registry login harbor.cyberwatch.frCompleteu el nom d’usuari afegint-hi el prefix
cbw$i, després, introduïu la contrasenya.Creeu i, després, editeu el fitxer de configuració
values.ymlCal conservar el fitxer
values.ymlde manera segura. El fitxer és necessari per actualitzar les imatges Docker o per actualitzar el chart de Helm.Els passos següents serveixen per crear un fitxer de configuració mínim que permet desplegar el satèl·lit de Cyberwatch.
Aquest és un exemple de fitxer
values.ymlen la seva configuració mínima:global: pki: root_ca: cbw-root-ca-cert image: registryCredentials: - name: cyberwatch-credentials registry: harbor.cyberwatch.fr/cbw-on-premise username: "changeme" password: "changeme" node: name: cyberwatch-node-name type: satellite nginx: resolver: "changeme" ingress: enabled: true hosts: - hostname: cyberwatch.example.com ingressClassName: nginx tls: enabled: true thirdParties: enabled: false database: external: true host: "changeme" password: "changeme" root_password: "changeme" redis: external: true host: "changeme" password: "changeme" containerScanner: container_scanner_api_key: "changeme:changeme" key: base: "changeme" credential: "changeme"Configureu l’accés al registre dels contenidors. El nom d’usuari i la contrasenya són els mateixos que els que s’utilitzen per connectar-se al repositori de Helm
global: image: registryCredentials: - name: cyberwatch-credentials registry: harbor.cyberwatch.fr/cbw-on-premise username: "changeme" password: "changeme"Configureu el nom que tindrà el node satèl·lit de Cyberwatch a l’aplicació amb el paràmetre
node.name:node: name: cyberwatch-node-name type: satelliteConfigureu el camp
nginx.resolverObteniu l’adreça IP del resolutor DNS
kube-dns:kubectl -n kube-system get svc kube-dnsAssigneu l’adreça IP del resolutor DNS del clúster Kubernetes al camp
nginx.resolverExemple:
nginx: resolver: 10.3.0.10
Configureu l’ingress
Podeu configurar un o diversos ingress al camp
ingress.hosts. Cada ingress ha de tenir unhostnameúnic i uningressClassName. Podeu llistar lesIngressClassdisponibles al clúster amb l’ordre següent:kubectl get ingressclassesAssigneu el valor seleccionat al camp
ingressClassNamei el nom de domini que acceptarà les sol·licituds al camphostname.Exemple:
ingress: enabled: true hosts: - hostname: cyberwatch.example.com ingressClassName: nginx tls: enabled: trueL’adreça IP que correspon al nom de domini ha de ser la de l’equilibrador de càrrega del clúster.
Si cal, trobareu més informació als comentaris del fitxer de configuració per defecte del chart de Helm.
Configureu l’accés a les bases de dades i a l’aplicació Cyberwatch
Indiqueu les adreces IP de connexió a les bases de dades als camps
database.hostiredis.host:database: external: true host: "changeme" redis: external: true host: "changeme"Connecteu-vos per SSH al node mestre i mostreu les contrasenyes:
sudo cyberwatch show-secrets MYSQL_ROOT_PASSWORD=... MYSQL_PASSWORD=... REDIS_PASSWORD=... SECRET_KEY_BASE=... SECRET_KEY_CREDENTIAL=...Indiqueu les contrasenyes de les bases de dades obtingudes als camps corresponents:
database: external: true host: "changeme" password: "MYSQL_PASSWORD" root_password: "MYSQL_ROOT_PASSWORD" redis: external: true host: "changeme" password: "REDIS_PASSWORD"Indiqueu les credencials de connexió a l’aplicació Cyberwatch:
key: base: "SECRET_KEY_BASE" credential: "SECRET_KEY_CREDENTIAL"
Desactiveu l’ús del contenidor
thirdPartiesdefinint els paràmetres següents:thirdParties: enabled: falseGenereu la credencial per al pod container-scanner:
cat <<-EOF containerScanner: container_scanner_api_key: "$(openssl rand -hex 16):$(openssl rand -hex 16)" EOFCreeu l’espai de noms cyberwatch al clúster:
kubectl create namespace cyberwatchConfigureu el certificat arrel que permet connectar-se a l’aplicació Cyberwatch
Connecteu-vos per SSH al node mestre i mostreu el certificat arrel:
sudo cyberwatch show-root-certDeseu el certificat arrel en un fitxer anomenat
./cbw-root-ca-cert.pem:cat <<EOF > ./cbw-root-ca-cert.pem -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- EOFImporteu el certificat com a secret al clúster Kubernetes:
kubectl -n cyberwatch create secret generic cbw-root-ca-cert --from-file=./cbw-root-ca-cert.pem
Desplegueu el chart de Helm:
helm -n cyberwatch install cyberwatch oci://harbor.cyberwatch.fr/cbw-on-premise/cyberwatch-chart -f values.ymlEl desplegament del chart de Helm té en compte la configuració del fitxer
values.ymlper configurar l’aplicació.Comproveu l’estat dels pods:
kubectl -n cyberwatch get podsQuan tots els pods estiguin en execució, inicieu la sessió a la interfície web del node mestre per comprovar l’enllaç amb el node satèl·lit. També podeu comprovar que sidekiq es comunica correctament amb el node mestre:
kubectl -n cyberwatch logs $(kubectl -n cyberwatch get pods -l app=sidekiq -o jsonpath='{.items[*].metadata.name}')
(Opcional) Obtenir el fitxer de configuració per defecte del chart de Helm
La documentació anterior indica els passos que cal seguir per crear una configuració mínima de Cyberwatch.
Podeu obtenir el fitxer de configuració per defecte del chart de Helm de Cyberwatch per disposar d’un fitxer complet que indica quins valors per defecte es poden modificar.
Es recomana utilitzar aquest fitxer si voleu apartar-vos de la configuració mínima que proposa aquesta documentació, per exemple per configurar un certificat TLS.
Per obtenir el fitxer de configuració per defecte del chart de Helm:
helm show values oci://harbor.cyberwatch.fr/cbw-on-premise/cyberwatch-chart > values.yml
Després, podeu modificar aquest fitxer segons les vostres necessitats i tornar a desplegar el chart de Helm a partir d’aquesta configuració nova.