This topic describes how to deploy Domino components on Google Kubernetes Engine (GKE). GKE is hosted on Google Cloud Platform (GCP).
-
Use environment variables to set the values of IDs, names, and labels. This simplifies the commands you’ll run while installing Domino components:
export DOMINO_VER=<The Domino version to deploy> export QUAY_USERNAME=<`quay.io` username provided by Domino> export QUAY_PASSWORD=<`quay.io` password provided by Domino>
-
To retrieve the credentials for your Kubernetes cluster, check your local kubeconfig with:
export KUBECONFIG=$(pwd)/kubeconfig
-
Run the following to create the
domino-platform
namespace:kubectl create namespace domino-platform
-
To make your application available through HTTPS, use the certificate for the project’s domain name to create a secret:
kubectl -n domino-platform create secret tls my-cert --key=<path to your private key> --cert=<path to your cert>
fleetcommand-agent
installs and configures Domino components.
It uses an installation template to gather the required parameters for the environment and sets them when installing Domino components.
fleetcommand-agent
-
If you aren’t already logged into
quay.io
, run:docker login -u $QUAY_USERNAME -p $QUAY_PASSWORD quay.io
-
Generate a template configuration file named
domino.yml
in your working directory:CautionThis overwrites existing domino.yml
files.docker run --rm -it \ -v $(pwd):/install \ quay.io/domino/fleetcommand-agent:{fleetcommand-agent-version} \ init --file /install/domino.yml --version $DOMINO_VER
Important
|
If you change the defaults in domino.yml , it can affect the stability of your deployment.
If you must modify the file, contact a Domino representative.
|
You must reference the Terraform output from the infrastructure deployment described in Provision infrastructure and runtime environment to complete the configuration template.
If you don’t have the output saved, run terraform output
to retrieve it.
-
Open the
domino.yml
file and edit the following attributes:-
name
: The name of the deployment. This can’t be changed post-deployment. -
hostname
: The hostname for the Domino install (for example,domino.example.com
). -
ingress_controller.gke_cluster_uuid
: Thegoogle_cluster_uuid
from the Terraform output produced during infrastructure setup. -
storage_class.block.type
:gce
-
storage_class.shared.type
:nfs
-
storage_class.shared.nfs.server
: Thegoogle_filestore_ip_address
from the Terraform output. -
storage_class.shared.nfs.mount_path
:/share1
(This must match thegoogle_filestore_file_share
Terraform output). -
blob_storage.projects.type
:shared
-
blob_storage.logs.type
:shared
-
blob_storage.backups.type
:gcs
-
blob_storage.backups.gcs.bucket
: Thegoogle_bucket_name
from the Terraform output. -
blob_storage.backups.gcs.service_account_name
: Thegoogle_platform_service_account
from the Terraform output. -
blob_storage.backups.gcs.project_name
: Thegoogle_project
from the Terraform output. -
helm.cache_path
:/app/charts
-
private_docker_registry.username
: Yourquay.io
username. -
private_docker_registry.password
: Yourquay.io
password. -
internal_docker_registry.enabled
:false
-
external_docker_registry
: Thegoogle_artifact_registry
from the Terraform output.
-
-
Replace the
services.nginx_ingress.chart_values
section:chart_values: controller: kind: Deployment hostNetwork: false service: enabled: true type: LoadBalancer annotations: cloud.google.com/backend-config: '{"ports": {"80":"nginx-ingress-controller","443":"nginx-ingress-controller"}}' extraArgs: default-ssl-certificate: domino-platform/my-cert
Tip
|
Domino recommends that you keep a backup copy of your final configuration file.
To do this, use the following command: cp domino.yml{,.backup-$( date +%s )}
|
Unresolved directive in <stdin> - include::../../../../static/content-reuse/deploy-domino.adoc[tag=fleetcommand-agent]
Unresolved directive in <stdin> - include::../../../../static/content-reuse/deploy-domino.adoc[tag=ingress]
Unresolved directive in <stdin> - include::../../../../static/content-reuse/deploy-domino.adoc[tag=dns]
Unresolved directive in <stdin> - include::../../../../static/content-reuse/deploy-domino.adoc[tag=validation]