1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #!/bin/bash
- # Copyright 2014 The Kubernetes Authors.
- #
- # 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.
- ##########################################################
- #
- # Common parameters for Kubernetes
- #
- ##########################################################
- # Default number of nodes to make. You can change this as needed
- NUM_NODES=3
- # Range of IPs assigned to pods
- NODE_IP_RANGES="10.244.0.0/16"
- # IPs used by Kubernetes master
- MASTER_IP_RANGE="${MASTER_IP_RANGE:-10.246.0.0/24}"
- # Range of IPs assigned by Kubernetes to services
- SERVICE_CLUSTER_IP_RANGE="10.244.240.0/20"
- ##########################################################
- #
- # Advanced parameters for Kubernetes
- #
- ##########################################################
- # The instance prefix is the beginning of the name given to each VM we create
- # If this is changed, you can have multiple kubernetes clusters per project
- # Note that even if you don't change it, each tenant/project can have its own
- # Kubernetes cluster
- INSTANCE_PREFIX=kubernetes
- # Name of the user used to configure the VM
- # We use cloud-init to create the user
- VM_USER=kube
- # SSH options for how we connect to the Kubernetes VMs
- # We set the user known hosts file to /dev/null because we are connecting to new VMs.
- # When working in an environment where there is a lot of VM churn, VM IP addresses
- # will be reused, and the ssh keys will be different. This prevents us from seeing error
- # due to this, and it will not save the SSH key to the known_hosts file, so users will
- # still have standard ssh security checks.
- SSH_OPTS="-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oLogLevel=ERROR -C"
- # Optional: Enable node logging.
- # Note: currently untested
- ENABLE_NODE_LOGGING=false
- LOGGING_DESTINATION=elasticsearch
- # Optional: When set to true, Elasticsearch and Kibana will be setup
- # Note: currently untested
- ENABLE_CLUSTER_LOGGING=false
- ELASTICSEARCH_LOGGING_REPLICAS=1
- # Optional: Cluster monitoring to setup as part of the cluster bring up:
- # none - No cluster monitoring setup
- # influxdb - Heapster, InfluxDB, and Grafana
- # google - Heapster, Google Cloud Monitoring, and Google Cloud Logging
- # Note: currently untested
- ENABLE_CLUSTER_MONITORING="${KUBE_ENABLE_CLUSTER_MONITORING:-influxdb}"
- # Optional: Install cluster DNS.
- ENABLE_CLUSTER_DNS="${KUBE_ENABLE_CLUSTER_DNS:-true}"
- DNS_SERVER_IP="10.244.240.240"
- DNS_DOMAIN="cluster.local"
- DNS_REPLICAS=1
- # Optional: Install Kubernetes UI
- ENABLE_CLUSTER_UI=true
- # We need to configure subject alternate names (SANs) for the master's certificate
- # we generate. While users will connect via the external IP, pods (like the UI)
- # will connect via the cluster IP, from the SERVICE_CLUSTER_IP_RANGE.
- # In addition to the extra SANS here, we'll also add one for for the service IP.
- MASTER_EXTRA_SANS="DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.${DNS_DOMAIN}"
- # Optional: if set to true, kube-up will configure the cluster to run e2e tests.
- E2E_STORAGE_TEST_ENVIRONMENT=${KUBE_E2E_STORAGE_TEST_ENVIRONMENT:-false}
|