123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #!/bin/bash
- # Copyright 2015 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.
- ## Contains configuration values for the Ubuntu cluster
- # Define all your cluster nodes, MASTER node comes first"
- # And separated with blank space like <user_1@ip_1> <user_2@ip_2> <user_3@ip_3>
- export nodes=${nodes:-"vcap@10.10.103.250 vcap@10.10.103.162 vcap@10.10.103.223"}
- # Define all your nodes role: a(master) or i(minion) or ai(both master and minion),
- # Roles must be the same order with the nodes.
- roles=${roles:-"ai i i"}
- # If it practically impossible to set an array as an environment variable
- # from a script, so assume variable is a string then convert it to an array
- export roles_array=($roles)
- # Define minion numbers
- export NUM_NODES=${NUM_NODES:-3}
- # define the IP range used for service cluster IPs.
- # according to rfc 1918 ref: https://tools.ietf.org/html/rfc1918 choose a private ip range here.
- export SERVICE_CLUSTER_IP_RANGE=${SERVICE_CLUSTER_IP_RANGE:-192.168.3.0/24} # formerly PORTAL_NET
- # define the IP range used for flannel overlay network, should not conflict with above SERVICE_CLUSTER_IP_RANGE
- # The Ubuntu scripting supports two ways of networking: Flannel and
- # CNI. To use CNI: (1) put a CNI configuration file, whose basename
- # is the configured network type plus ".conf", somewhere on the driver
- # machine (the one running `kube-up.sh`) and set CNI_PLUGIN_CONF to a
- # pathname of that file, (2) put one or more executable binaries on
- # the driver machine and set CNI_PLUGIN_EXES to a space-separated list
- # of their pathnames, and (3) set CNI_KUBELET_TRIGGER to identify an
- # appropriate service on which to trigger the start and stop of the
- # kubelet on non-master machines. For (1) and (2) the pathnames may
- # be relative, in which case they are relative to kubernetes/cluster.
- # If either of CNI_PLUGIN_CONF or CNI_PLUGIN_EXES is undefined or has
- # a zero length value then Flannel will be used instead of CNI.
- export CNI_PLUGIN_CONF CNI_PLUGIN_EXES CNI_KUBELET_TRIGGER
- CNI_PLUGIN_CONF=${CNI_PLUGIN_CONF:-""}
- CNI_PLUGIN_EXES=${CNI_PLUGIN_EXES:-""}
- CNI_KUBELET_TRIGGER=${CNI_KUBELET_TRIGGER:-networking}
- # Flannel networking is used if CNI networking is not. The following
- # variable defines the CIDR block from which cluster addresses are
- # drawn.
- export FLANNEL_NET=${FLANNEL_NET:-172.16.0.0/16}
- # Optionally add other contents to the Flannel configuration JSON
- # object normally stored in etcd as /coreos.com/network/config. Use
- # JSON syntax suitable for insertion into a JSON object constructor
- # after other field name:value pairs. For example:
- # FLANNEL_OTHER_NET_CONFIG=', "SubnetMin": "172.16.10.0", "SubnetMax": "172.16.90.0"'
- export FLANNEL_OTHER_NET_CONFIG
- FLANNEL_OTHER_NET_CONFIG=''
- # Admission Controllers to invoke prior to persisting objects in cluster
- # If we included ResourceQuota, we should keep it at the end of the list to prevent incremeting quota usage prematurely.
- export ADMISSION_CONTROL=NamespaceLifecycle,LimitRanger,ServiceAccount,SecurityContextDeny,DefaultStorageClass,ResourceQuota
- # Path to the config file or directory of files of kubelet
- export KUBELET_CONFIG=${KUBELET_CONFIG:-""}
- # A port range to reserve for services with NodePort visibility
- SERVICE_NODE_PORT_RANGE=${SERVICE_NODE_PORT_RANGE:-"30000-32767"}
- # Optional: Enable node logging.
- ENABLE_NODE_LOGGING=false
- LOGGING_DESTINATION=${LOGGING_DESTINATION:-elasticsearch}
- # Optional: When set to true, Elasticsearch and Kibana will be setup as part of the cluster bring up.
- ENABLE_CLUSTER_LOGGING=false
- ELASTICSEARCH_LOGGING_REPLICAS=${ELASTICSEARCH_LOGGING_REPLICAS:-1}
- # Optional: When set to true, heapster, Influxdb and Grafana will be setup as part of the cluster bring up.
- ENABLE_CLUSTER_MONITORING="${KUBE_ENABLE_CLUSTER_MONITORING:-true}"
- # Extra options to set on the Docker command line. This is useful for setting
- # --insecure-registry for local registries.
- DOCKER_OPTS=${DOCKER_OPTS:-""}
- # Extra options to set on the kube-proxy command line. This is useful
- # for selecting the iptables proxy-mode, for example.
- KUBE_PROXY_EXTRA_OPTS=${KUBE_PROXY_EXTRA_OPTS:-""}
- # Optional: Install cluster DNS.
- ENABLE_CLUSTER_DNS="${KUBE_ENABLE_CLUSTER_DNS:-true}"
- # DNS_SERVER_IP must be a IP in SERVICE_CLUSTER_IP_RANGE
- DNS_SERVER_IP=${DNS_SERVER_IP:-"192.168.3.10"}
- DNS_DOMAIN=${DNS_DOMAIN:-"cluster.local"}
- DNS_REPLICAS=${DNS_REPLICAS:-1}
- # Optional: Install Kubernetes UI
- ENABLE_CLUSTER_UI="${KUBE_ENABLE_CLUSTER_UI:-true}"
- # Optional: Enable setting flags for kube-apiserver to turn on behavior in active-dev
- #RUNTIME_CONFIG=""
- # Optional: Add http or https proxy when download easy-rsa.
- # Add environment variable separated with blank space like "http_proxy=http://10.x.x.x:8080 https_proxy=https://10.x.x.x:8443"
- PROXY_SETTING=${PROXY_SETTING:-""}
- # Optional: Allows kublet/kube-api to be run in privileged mode
- ALLOW_PRIVILEGED=${ALLOW_PRIVILEGED:-"false"}
- DEBUG=${DEBUG:-"false"}
- # Add SSH_OPTS: Add this to config ssh port
- SSH_OPTS="-oPort=22 -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oLogLevel=ERROR"
|