# Sample variables file
To help get you started, a sample configuration is provided in the file inventory/group_vars/all/all.yml.sample
:
###
# Copyright (2020) Hewlett Packard Enterprise Development LP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# You may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
###
# Base Anthos Version
anthos_version: '1.4.0-gke.13'
# Proxy definitions -- gkeadm will have it's own. For now these are needed for post deploy configuration
proxy_enabled: true
proxy_address: '16.100.208.216'
proxy_port: '8888'
proxy_type: 'http'
no_proxy: '.hcilabs.hpecorp.net,.simplivt.local'
# Location of GCP keys created (.json files)
# vcenter(s) ssl certificates
# private docker registry certificates
# ssh keypair to be deployed to GKE Admin Workstation
# This directory is located under /home/<user> on the ansible controller.
secrets_directory: 'anthos_secrets'
# Name of whitelisted key for GCP
gke_whitelisted_key: 'whitelisted-key.json' # Must be in directory defined by 'secrets_directory'
#####
# Virtual Center Configuration that will be used to deploy GKE Admin Workstation
# and all GKE on-prem clusters (admin and user)
# All variables that contain a vault_ prefix should be entered in `inventory/group_vars/all/vault.yml'
#####
vcenter:
address: '10.1.223.196'
username: "{{ vault_vcenter_username }}"
password: "{{ vault_vcenter_password }}"
datacenter: 'Datacenter'
datastore: 'ds1'
cluster: "New_Cluster"
network: 'VM Network 2'
resourcepool: 'Anthos_1.4'
cacert: 'vcenter.pem' # Must be in directory defined by 'secrets_directory'
#####
# GKE Admin Workstation Configuration
#####
gke_admin_workstation:
ssh_private_key: 'vsphere_workstation' # Must be in directory defined by 'secrets_directory'
name: 'gke-adm-test14'
cpus: '4'
memoryMB: '8192'
diskGB: '50'
datadiskMB: '1024'
ntpServer: 'hou-ntp1.hcilabs.hpecorp.net'
ipAllocationMode: 'dhcp'
# For Static IP assignment uncomment and enter info below. Remove ipAllocationMode: 'dhcp' above.
#ipAllocationMode: 'static'
#ip: '192.168.1.10'
#gateway: '192.168.1.1'
#netmask: '255.255.255.0'
#dns:
# - nameserver_ip
# - nameserver_ip
# If you desire to deploy your GKE Admin Workstation to a different vsphere infrastructure, enter values here
# and set 'enable: true'. If 'enable: false' then values from global vcenter config will be used.
alt_vcenter:
enable: false
address: '10.1.223.196'
username: "{{ vault_gkeadm_vcenter_username }}"
password: "{{ vault_gkeadm_vcenter_password }}"
datacenter: 'Datacenter'
datastore: 'ds1'
cluster: 'New_Cluster'
network: 'VM Network 2'
resourcepool: 'Anthos_1.4'
cacert: 'gkeadm_alt_vcenter.pem' # Must be in directory defined by 'secrets_directory'
# Path to GKE Admin Workstation OVA file to install. If defined and valid gkeadm will use this file.
# If empty '' or invalid gkeadm will download the OVA into the directory defined by the variable 'output_directory:'
# gkeadm_ova_path: '/home/sgifford/Downloads/1.3.0-gke.16/gke-on-prem-admin-appliance-vsphere-1.3.0-gke.16.ova'
gkeadm_ova_path: ''
#####
# Post deploy configuration of GKE Admin Workstation
# These are site specific.
#####
# Docker bip (base IP) can be changed if the default conflict with your environment
docker_bip: '192.68.0.1/16'
# A private Docker registry is commonly used in Air-Gapped installations
private_docker_registry: true
private_reg_ip: '16.100.209.193'
private_reg_port: '5005'
private_reg_cert: 'registry.crt' # Must be in directory defined by 'secrets_directory'
private_reg_username: 'me'
private_reg_password: 'you'
# If desired, secrets can be pulled from git to the ansible controller by setting 'pull_enable: true'. The files will be copied to the
# GKE Admin Workstation during deployment. The files in this repo must match the name/structure described in README.md.
# As mentioned above, an ssh 'config' file and ssh key need to be configured to pull this repo.
anthos_userdata_git:
pull_enable: false
repo_name: anthos_secrets # Change to match your repo -- Files will be pulled to {{ secrets_directory }}
# Change this url to match your private user data repo path
repo_url: 'ssh://git@stash.simplivt.local:7999/~sgifford/anthos_secrets.git'
#####
# GKE on-prem cluster configuration
#####
# GCP project to set. gkeadm does not currently set this.
# gcloud_project is a default (main) project.
gcloud_project: 'deep-thought-259715'
# Individual projects can be configured for each of these areas. Projects must exist in
# GCP before trying to use them. They will default to gcloud_project if left undefined.
gke_connect_projectid: ''
gke_stackdriver_projectid: ''
gke_usagemetering_projectid: ''
gke_cloudauditlogging_projectid: ''
# Common variables to all clusters
gke_bundle_path: '/var/lib/gke/bundles/gke-onprem-vsphere-{{ anthos_version }}-full.tgz'
gke_data_disk_name: 'test14-deploy'
# These variables will be used for all clusters unless overridden in the gke_cluster_config section below
gke_network_internal: 'gke-internal' #vSphere network for VM's
gke_cluster_resource_pool: 'Anthos_1.4'
gke_cluster_gcp_region: 'us-east1'
gke_cluster_antiAffinity_enable: 'true'
gke_loadBalancerKind: 'F5BigIP'
enable_vpc: 'false'
enable_cloudrun: 'false'
#####
# GKE on-prem cluster configuration information.
# Only 1 admin cluster should be defined. Multiple user clusters can be defined.
# gkenode.net allows for dhcp or static network definition. If set to 'static' then all network information
# should be entered. If set for 'dhcp' the network information will be ignored.
#####
gke_cluster_config:
- name: 'admin'
type: 'admin'
state: present
loadBalancerKind: 'F5BigIP'
f5_partition: 'Spanned_VIP'
cluster_ctrl_vip: '172.17.0.21'
cluster_ingress_vip: '172.17.0.22'
datastore: '' #If left blank the global vcenter.datastore will be used
resource_pool: ''
cluster_network: ''
logging_metric_gcp_region: 'us-east1'
audit_logging_gcp_region: 'us-east1'
enable_vpc: 'false'
enable_cloudrun: 'false'
gkenode_net:
mode: 'dhcp'
dns: '192.168.1.1'
gateway: '192.168.1.1'
netmask: '255.255.255.0'
tod: 'hou-ntp1.hcilabs.hpecorp.net'
search_domain: 'my.local.com'
otherdns:
- 8.8.8.8
- 8.8.8.4
othertod:
- ntp.ubuntu.com
ips:
- ip: 192.168.1.10
hostname: admin-host1
- ip: 192.168.1.11
hostname: admin-host2
- ip: 192.168.1.12
hostname: admin-host3
- ip: 192.168.1.13
hostname: admin-host4
- ip: 192.168.1.14
hostname: admin-host5
- name: 'sg-test4-13'
type: 'user'
state: present
masternode_cpu: '6'
masternode_memory: '16000'
masternode_replicas: '1'
workernode_cpu: '6'
workernode_memory: '16000'
workernode_replicas: '3'
loadBalancerKind: 'F5BigIP'
f5_partition: 'Spanned_VIP_user'
cluster_ctrl_vip: '172.17.0.69'
cluster_ingress_vip: '172.17.0.72'
csi_storageclass_name: 'test4-3-sc'
csi_datastore_name: 'csi-3'
csi_datastore_size: '20'
datastore: ''
resource_pool: 'User-Cluster-1'
cluster_network: ''
logging_metric_gcp_region: 'us-east1'
audit_logging_gcp_region: 'us-east1'
enable_vpc: 'false'
enable_cloudrun: 'false'
anthos_service_mesh_enable: true
anthos_service_mesh_externalIP: '172.17.0.29' # example '172.17.0.29'
anthos_service_mesh_sidecar_enable:
- default
- test1
- test2 # This a list of namespaces to enable istio sidecar injection
gkenode_net:
mode: 'dhcp'
dns: '192.168.2.1'
gateway: '192.168.2.1'
netmask: '255.255.255.0'
tod: 'hou-ntp1.hcilabs.hpecorp.net'
search_domain: 'my.local.com'
otherdns:
- 8.8.8.8
- 8.8.8.4
othertod:
- ntp.ubuntu.com
ips:
- ip: 192.168.2.10
hostname: sg-test4-host1
- ip: 192.168.2.11
hostname: sg-test4-host2
- ip: 192.168.2.12
hostname: sg-test4-host3
- ip: 192.168.2.13
hostname: sg-test4-host4
- ip: 192.168.2.14
hostname: sg-test4-host5
# Enable/Disable/Flags for the gkectl check-config execution. Recommend to run at least the first time.
# Flags to be added to gkectl command. See docs for explanation.
enable_config_check: true
gkectl_check_flags: '--fast'
# Enable/Disable/Flags for the gkectl prepare execution. Required to run at least one time.
# Flags to be added to gkectl command. See docs for explanation.
gkectl_run_prepare: true
gkectl_prepare_flags: '--skip-validation-all'
# Enable/Disable/Flags for the gkectl create cluster execution. Required to enable admin at least on first run.
# Flags to be added to gkectl command. See docs for explanation.
create_admin_cluster: true
create_user_cluster: true
gkectl_create_flags: '--skip-validation-all'
#####
# F5 Configuration Information
# All variables that contain a vault_ prefix should be entered in `inventory/group_vars/all/vault.yml'
#####
f5:
provider:
user: admin
password: "{{ vault_f5_admin_password }}"
server: 10.1.222.170
validate_certs: no
server_port: 443
hostname: Morbo-F5-SG1.thehead.local
admin_username: admin
admin_password: "{{ vault_f5_admin_password }}"
# Set to true to ensure config is saved to f5. DO NOT CHANGE
save: true
internal_vlan_name: internal
internal_vlan_tag: 1700
internal_vlan_selfip: 172.17.0.16
internal_vlan_selfip_netmask: 255.255.224.0
internal_vlan_selfip_name: gke-internal
external_vlan_name: external
external_vlan_tag: 1732
external_vlan_selfip: 172.17.32.16
external_vlan_selfip_netmask: 255.255.224.0
external_vlan_selfip_name: gke-external
license:
- { key: "{{ vault_f5_license_key }}", state: present }
#####
# SimpliVity
#####
simplivity_validate_certs: false
simplivity_appliances:
- 10.1.222.46
- 10.1.222.47
- 10.1.222.57
#####
# Varibles defining the directory configuration on the GKE Admin Workstation.
# ======= DO NOT CHANGE =======
#####
# Base directory on GKE Admin Workstation to install files
gkeadm_basedir: '/home/ubuntu'
# Location of files generated by gkeadm during deployment of GKE Admin Workstation
output_directory: '{{ local_user_home }}/output'
# Location of files generated on GKE Admin Workstation by gkectl during GKE on-prem cluster creation
log_directory: '{{ gkeadm_basedir }}/logs'
# Location of secrets files on local ansible controller
local_user_home: "{{ lookup ('env', 'HOME') }}"
secrets_path: "{{ local_user_home }}/{{ secrets_directory | regex_replace('\\/$', '') }}"
# GKE Admin Workstation destination of admin and user cluster configuration yaml files.
cluster_configurations_path: '{{ gkeadm_basedir }}/cluster-configurations'
# GKE Admin Workstation destination of admin and user cluster kubeconfig files generated when gkectl deploys clusters
cluster_kubeconfig_path: '{{ gkeadm_basedir }}/kubeconfigs'
# Setting name of admin kubeconfig here to be able to use it programatically later
admin_cluster_kubeconfig: 'kubeconfig'
# Derived proxyUrl
proxyUrl: "{{ proxy_type }}://{{ proxy_address }}:{{ proxy_port }}" # Proxy vars defined elsewhere in this file.
# Path to ssh private key to install on GKE Admin Workstation
# This key will also be used by ansible to connect to admin workstation
ansible_ssh_private_key_file: '{{ secrets_path }}/{{ gke_admin_workstation.ssh_private_key }}'
# Path/Filename where ansible should create the yaml config file for deploying the GKE Admin Workstation
gkeadm_config: '{{ secrets_path }}/admin-ws-config-{{ gke_admin_workstation.name }}.yaml'
# Path to directory containing desired .ssh directory contents that will be copied to GKE Admin Workstaion.
# Used for git repo cloning.
ssh_config_path: '{{ local_user_home }}/.ssh'