Desplegament de Cyberwatch en un clúster Kubernetes existent
Aquesta pàgina descriu els passos que cal seguir per desplegar 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 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.Aquestes credencials són les de la vostra llicència de Cyberwatch; si no en disposeu, poseu-vos en contacte amb support@cyberwatch.com.
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 l’aplicació Cyberwatch.
Aquest és un exemple de fitxer
values.ymlen la seva configuració mínima:global: # storageClass: image: registryCredentials: - name: cyberwatch-credentials registry: harbor.cyberwatch.fr/cbw-on-premise username: changeme password: changeme nginx: resolver: changeme ingress: enabled: true hosts: - hostname: cyberwatch.example.com ingressClassName: nginx tls: enabled: true thirdParties: enabled: false database: password: "changeme" root_password: "changeme" redis: password: "changeme" containerScanner: container_scanner_api_key: "changeme:changeme" key: base: "changeme" credential: "changeme" node: name: cyberwatch-node-name type: singleConfigureu 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: changemeConfigureu el camp
global.storageClass, que permet definir el tipus d’emmagatzematge que utilitzen elsVolumeClaimsper conservar les dades persistentsPer defecte, el chart de Helm configura l’aplicació perquè les dades es desin a la màquina que executa el contenidor, mitjançant
VolumeClaimsde tipushostPath. Aquest comportament només és adequat si el clúster Kubernetes té un sol node. En un clúster Kubernetes de diversos nodes, Cyberwatch recomana utilitzar unaStorageClass:global: # storageClass:Llisteu les
storageClassdisponibles al clúster:kubectl get scTraieu el comentari del camp
global.storageClassi assigneu-li com a valor el nom d’una de lesstorageClassdisponibles al clúster.Per exemple:
global: storageClass: csi-cinder-classic
Si cal, trobareu més informació als comentaris del fitxer de configuració per defecte del chart de Helm.
Configureu 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.resolver.Exemple:
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.
Desactiveu el contenidor
thirdPartiesestablint el paràmetrethirdParties.enabledafalse:thirdParties: enabled: falseConfigureu les contrasenyes de l’aplicació, de la base de dades i de redis
Podeu generar tots els secrets amb l’ordre següent:
cat <<-EOF database: password: "$(openssl rand -hex 16)" root_password: "$(openssl rand -hex 16)" redis: password: "$(openssl rand -hex 16)" containerScanner: container_scanner_api_key: "$(openssl rand -hex 16):$(openssl rand -hex 16)" kibana: kibana_password: "$(openssl rand -hex 16)" key: base: "$(openssl rand -hex 64)" credential: "$(openssl rand -hex 64)" EOFConfigureu el nom que tindrà el node de Cyberwatch a l’aplicació amb el paràmetre
node.namenode: name: cyberwatch-node-name type: singleCreeu l’espai de noms cyberwatch al clúster:
kubectl create namespace cyberwatchDesplegueu 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ó, accediu a la interfície web en HTTPS des de l’entrada DNS i registreu l’usuari administrador des de la interfície web
Si accediu a la instància de Cyberwatch per l’adreça IP, obtindreu un error 404. Cal utilitzar el nom de domini definit anteriorment.
(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.