mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-31 13:50:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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"
 | |
| 
 | |
| # Optional: Enable DNS horizontal autoscaler
 | |
| ENABLE_DNS_HORIZONTAL_AUTOSCALER="${KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER:-false}"
 | |
| 
 | |
| # 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}
 |