This topic describes how to deploy Domino components on VMware Tanzu Kubernetes Grid.
The install automation tools are delivered as a Docker image, and need to run on an installation workstation that meets the following requirements:
-
Docker installed
-
Kubectl service account access to the cluster
-
Access to quay.io to download the installer image*
-
Access to the NVIDIA image repository at nvcr.io*
*Solutions for air-gapped installation are available; see your solution provider for details.
Additionally, you will need credentials for an installation service account that can access the Domino upstream image repositories in quay.io. Throughout these instructions, these credentials will be referred to as $QUAY_USERNAME
and $QUAY_PASSWORD
. Contact your Domino account team if you need new credentials.
Log in to quay.io with the credentials described above
$ docker login quay.io
Pull the fleetcommand-agent
image
$ docker pull quay.io/domino/fleetcommand-agent:v59
Here is a template configuration file named domino.yml
:
schema: '1.2'
name: _CHANGE_ME_
version: 5.4.0
hostname: _CHANGE_ME_
global_node_selectors: {}
global_pod_annotations: {}
global_pod_labels: {}
global_pod_environment: []
git:
storage_class: tanzu-vm-storage-policy
email_notifications:
enabled: true
server: _CHANGE_ME_
port: 465
enable_ssl: true
from_address: CHANGE_ME@customer.org
authentication:
username: ''
password: ''
helm:
image_registries:
- server: quay.io
telemetry:
intercom:
enabled: true
mixpanel:
enabled: false
token: ''
gpu:
enabled: false
fleetcommand:
api_token: '_CHANGE_ME_'
url: '_CHANGE_ME_'
teleport_kube_agent:
proxyAddr: teleport.domino.tech:443
authToken: eeceeV4sohh8eew0Oa1aexoTahm3Eiha
storage_classes:
block:
create: false
name: tanzu-vm-storage-policy
access_modes:
- ReadWriteOnce
base_path: ''
type: vsphere-volume
shared:
create: true
name: dominoshared
access_modes:
- ReadWriteMany
volume_capacity: 5Ti
type: nfs
nfs:
server: '_CHANGE_ME_'
mount_path: '_CHANGE_ME_'
mount_options: [ "nfsvers=4.1", ]
blob_storage:
logs:
shared: true
backups:
shared: true
projects:
shared: true
monitoring:
prometheus_metrics: true
services:
nginx_ingress:
chart_values:
controller:
replicaCount: 2
kind: Deployment
hostNetwork: false
config:
use-proxy-protocol: 'false'
service:
targetPorts:
http: http
enabled: true
type: LoadBalancer
Edit the configuration file with all necessary details about the target cluster, storage systems, and hosting domain. Read the configuration reference for more information about available keys, and consult the configuration examples for guidance on getting started. You will be provided a quay.io login with access to pull the Domino container images.
Note that you should set the value of name
to something that identifies the purpose of your installation and contains the name of your organization.
Execute a dry run with the following command:
$ docker run --rm -v $(pwd):/install -v $(pwd)/logs:/app/logs -v (pwd)/cache:/app/.appr_chart_cache quay.io/domino/fleetcommand-agent:v59 run --dry --file /install/domino.yml
Run the Domino installer with the following command:
$ docker run --rm -v $(pwd):/install quay.io/domino/fleetcommand-agent:v59 run --file /install/domino.yml
When the installation completes successfully, you should see a message that says:
2019-11-26 21:20:20,214 - INFO - fleetcommand_agent.Application - Deployment complete.
Domino is accessible at $YOUR_FQDN
However, the application will only be accessible via HTTPS at that FQDN if you have configured DNS for the name to point to an ingress load balancer with the appropriate SSL certificate that forwards traffic to your platform nodes.