
The UI didn't work with vSphere kube-up implementation. This fixes that by making the following changes: * Configure the apiserver with admission controls, especially ServiceAccount. This will provide the token to the dashboard pod that it needs to talk to the apiserver. This will also improve other pods that require service accounts. * Add routes to the master so it can communicate with the pods, so hitting the https://MASTER/ui URL will allow it to contact the pods. * Add an extra subject for the cluster IP to the apiserver, so when the dashboard communicates with the apiserver, the certificate matches the IP address it's using.
68 lines
2.5 KiB
Bash
Executable File
68 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright 2014 The Kubernetes Authors All rights reserved.
|
|
#
|
|
# 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.
|
|
|
|
NUM_NODES=4
|
|
DISK=./kube/kube.vmdk
|
|
GUEST_ID=debian7_64Guest
|
|
|
|
INSTANCE_PREFIX=kubernetes
|
|
MASTER_TAG="${INSTANCE_PREFIX}-master"
|
|
NODE_TAG="${INSTANCE_PREFIX}-minion"
|
|
|
|
MASTER_NAME="${INSTANCE_PREFIX}-master"
|
|
MASTER_MEMORY_MB=1024
|
|
MASTER_CPU=1
|
|
|
|
NODE_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_NODES}}))
|
|
NODE_IP_RANGES="10.244.0.0/16"
|
|
MASTER_IP_RANGE="${MASTER_IP_RANGE:-10.246.0.0/24}"
|
|
NODE_MEMORY_MB=2048
|
|
NODE_CPU=1
|
|
|
|
SERVICE_CLUSTER_IP_RANGE="10.244.240.0/20" # formerly PORTAL_NET
|
|
|
|
# Optional: Enable node logging.
|
|
ENABLE_NODE_LOGGING=false
|
|
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=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
|
|
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="${KUBE_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}
|