mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 15:58:37 +00:00
Merge pull request #107481 from shu-mutou/deprecate-dashboard-addon
Remove dashboard cluster addon
This commit is contained in:
commit
a3207872a3
@ -1,13 +0,0 @@
|
|||||||
# See the OWNERS docs at https://go.k8s.io/owners
|
|
||||||
|
|
||||||
approvers: []
|
|
||||||
reviewers: []
|
|
||||||
emeritus_approvers:
|
|
||||||
- bryk
|
|
||||||
- danielromlein
|
|
||||||
- ianlewis
|
|
||||||
- jeefy
|
|
||||||
- rf232
|
|
||||||
- floreks
|
|
||||||
- maciaszczykm
|
|
||||||
- shu-mutou
|
|
@ -1,7 +0,0 @@
|
|||||||
# Kubernetes Dashboard
|
|
||||||
|
|
||||||
Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters.
|
|
||||||
It allows users to manage applications running in the cluster, troubleshoot them,
|
|
||||||
as well as manage the cluster itself.
|
|
||||||
|
|
||||||
Learn more at: https://github.com/kubernetes/dashboard
|
|
@ -1,297 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: Reconcile
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: Reconcile
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
kubernetes.io/cluster-service: "true"
|
|
||||||
addonmanager.kubernetes.io/mode: Reconcile
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 443
|
|
||||||
targetPort: 8443
|
|
||||||
selector:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: EnsureExists
|
|
||||||
name: kubernetes-dashboard-certs
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
type: Opaque
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: EnsureExists
|
|
||||||
name: kubernetes-dashboard-csrf
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
csrf: ""
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: EnsureExists
|
|
||||||
name: kubernetes-dashboard-key-holder
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
type: Opaque
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: ConfigMap
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: EnsureExists
|
|
||||||
name: kubernetes-dashboard-settings
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: Role
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: Reconcile
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
rules:
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["secrets"]
|
|
||||||
resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]
|
|
||||||
verbs: ["get", "update", "delete"]
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["configmaps"]
|
|
||||||
resourceNames: ["kubernetes-dashboard-settings"]
|
|
||||||
verbs: ["get", "update"]
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["services"]
|
|
||||||
resourceNames: ["heapster", "dashboard-metrics-scraper"]
|
|
||||||
verbs: ["proxy"]
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["services/proxy"]
|
|
||||||
resourceNames: ["heapster", "http:heapster:", "https:heapster:", "dashboard-metrics-scraper", "http:dashboard-metrics-scraper"]
|
|
||||||
verbs: ["get"]
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: ClusterRole
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: Reconcile
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
rules:
|
|
||||||
- apiGroups: ["metrics.k8s.io"]
|
|
||||||
resources: ["pods", "nodes"]
|
|
||||||
verbs: ["get", "list", "watch"]
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: Reconcile
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
addonmanager.kubernetes.io/mode: Reconcile
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: Deployment
|
|
||||||
apiVersion: apps/v1
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
name: kubernetes-dashboard
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
revisionHistoryLimit: 10
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: kubernetes-dashboard
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: kubernetes-dashboard
|
|
||||||
image: kubernetesui/dashboard:v2.0.1
|
|
||||||
imagePullPolicy: Always
|
|
||||||
ports:
|
|
||||||
- containerPort: 8443
|
|
||||||
protocol: TCP
|
|
||||||
args:
|
|
||||||
- --auto-generate-certificates
|
|
||||||
- --namespace=kubernetes-dashboard
|
|
||||||
volumeMounts:
|
|
||||||
- name: kubernetes-dashboard-certs
|
|
||||||
mountPath: /certs
|
|
||||||
- mountPath: /tmp
|
|
||||||
name: tmp-volume
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
scheme: HTTPS
|
|
||||||
path: /
|
|
||||||
port: 8443
|
|
||||||
initialDelaySeconds: 30
|
|
||||||
timeoutSeconds: 30
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsUser: 1001
|
|
||||||
runAsGroup: 2001
|
|
||||||
volumes:
|
|
||||||
- name: kubernetes-dashboard-certs
|
|
||||||
secret:
|
|
||||||
secretName: kubernetes-dashboard-certs
|
|
||||||
- name: tmp-volume
|
|
||||||
emptyDir: {}
|
|
||||||
serviceAccountName: kubernetes-dashboard
|
|
||||||
nodeSelector:
|
|
||||||
"kubernetes.io/os": linux
|
|
||||||
tolerations:
|
|
||||||
- key: "CriticalAddonsOnly"
|
|
||||||
operator: "Exists"
|
|
||||||
- key: node-role.kubernetes.io/master
|
|
||||||
effect: NoSchedule
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: dashboard-metrics-scraper
|
|
||||||
name: dashboard-metrics-scraper
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
selector:
|
|
||||||
k8s-app: dashboard-metrics-scraper
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: Deployment
|
|
||||||
apiVersion: apps/v1
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: dashboard-metrics-scraper
|
|
||||||
name: dashboard-metrics-scraper
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
revisionHistoryLimit: 10
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
k8s-app: dashboard-metrics-scraper
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
k8s-app: dashboard-metrics-scraper
|
|
||||||
spec:
|
|
||||||
securityContext:
|
|
||||||
seccompProfile:
|
|
||||||
type: RuntimeDefault
|
|
||||||
containers:
|
|
||||||
- name: dashboard-metrics-scraper
|
|
||||||
image: kubernetesui/metrics-scraper:v1.0.4
|
|
||||||
ports:
|
|
||||||
- containerPort: 8000
|
|
||||||
protocol: TCP
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
scheme: HTTP
|
|
||||||
path: /
|
|
||||||
port: 8000
|
|
||||||
initialDelaySeconds: 30
|
|
||||||
timeoutSeconds: 30
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /tmp
|
|
||||||
name: tmp-volume
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsUser: 1001
|
|
||||||
runAsGroup: 2001
|
|
||||||
serviceAccountName: kubernetes-dashboard
|
|
||||||
nodeSelector:
|
|
||||||
"kubernetes.io/os": linux
|
|
||||||
tolerations:
|
|
||||||
- key: node-role.kubernetes.io/master
|
|
||||||
effect: NoSchedule
|
|
||||||
volumes:
|
|
||||||
- name: tmp-volume
|
|
||||||
emptyDir: {}
|
|
@ -280,9 +280,6 @@ export DNS_MEMORY_LIMIT="${KUBE_DNS_MEMORY_LIMIT:-170Mi}"
|
|||||||
# Optional: Enable DNS horizontal autoscaler
|
# Optional: Enable DNS horizontal autoscaler
|
||||||
export ENABLE_DNS_HORIZONTAL_AUTOSCALER="${KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER:-true}"
|
export ENABLE_DNS_HORIZONTAL_AUTOSCALER="${KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER:-true}"
|
||||||
|
|
||||||
# Optional: Install Kubernetes UI
|
|
||||||
export ENABLE_CLUSTER_UI="${KUBE_ENABLE_CLUSTER_UI:-true}"
|
|
||||||
|
|
||||||
# Optional: Install node problem detector.
|
# Optional: Install node problem detector.
|
||||||
# none - Not run node problem detector.
|
# none - Not run node problem detector.
|
||||||
# daemonset - Run node problem detector as daemonset.
|
# daemonset - Run node problem detector as daemonset.
|
||||||
@ -458,14 +455,11 @@ HEAPSTER_GCP_MEMORY_PER_NODE="${HEAPSTER_GCP_MEMORY_PER_NODE:-4}"
|
|||||||
HEAPSTER_GCP_BASE_CPU="${HEAPSTER_GCP_BASE_CPU:-80m}"
|
HEAPSTER_GCP_BASE_CPU="${HEAPSTER_GCP_BASE_CPU:-80m}"
|
||||||
HEAPSTER_GCP_CPU_PER_NODE="${HEAPSTER_GCP_CPU_PER_NODE:-0.5}"
|
HEAPSTER_GCP_CPU_PER_NODE="${HEAPSTER_GCP_CPU_PER_NODE:-0.5}"
|
||||||
|
|
||||||
# Optional: custom system banner for dashboard addon
|
|
||||||
CUSTOM_KUBE_DASHBOARD_BANNER="${CUSTOM_KUBE_DASHBOARD_BANNER:-}"
|
|
||||||
|
|
||||||
# Default Stackdriver resources version exported by Fluentd-gcp addon
|
# Default Stackdriver resources version exported by Fluentd-gcp addon
|
||||||
LOGGING_STACKDRIVER_RESOURCE_TYPES="${LOGGING_STACKDRIVER_RESOURCE_TYPES:-old}"
|
LOGGING_STACKDRIVER_RESOURCE_TYPES="${LOGGING_STACKDRIVER_RESOURCE_TYPES:-old}"
|
||||||
|
|
||||||
# Adding to PROVIDER_VARS, since this is GCP-specific.
|
# Adding to PROVIDER_VARS, since this is GCP-specific.
|
||||||
PROVIDER_VARS="${PROVIDER_VARS:-} FLUENTD_GCP_YAML_VERSION FLUENTD_GCP_VERSION FLUENTD_GCP_MEMORY_LIMIT FLUENTD_GCP_CPU_REQUEST FLUENTD_GCP_MEMORY_REQUEST HEAPSTER_GCP_BASE_MEMORY HEAPSTER_GCP_MEMORY_PER_NODE HEAPSTER_GCP_BASE_CPU HEAPSTER_GCP_CPU_PER_NODE CUSTOM_KUBE_DASHBOARD_BANNER LOGGING_STACKDRIVER_RESOURCE_TYPES"
|
PROVIDER_VARS="${PROVIDER_VARS:-} FLUENTD_GCP_YAML_VERSION FLUENTD_GCP_VERSION FLUENTD_GCP_MEMORY_LIMIT FLUENTD_GCP_CPU_REQUEST FLUENTD_GCP_MEMORY_REQUEST HEAPSTER_GCP_BASE_MEMORY HEAPSTER_GCP_MEMORY_PER_NODE HEAPSTER_GCP_BASE_CPU HEAPSTER_GCP_CPU_PER_NODE LOGGING_STACKDRIVER_RESOURCE_TYPES"
|
||||||
|
|
||||||
# Fluentd configuration for node-journal
|
# Fluentd configuration for node-journal
|
||||||
ENABLE_NODE_JOURNAL="${ENABLE_NODE_JOURNAL:-false}"
|
ENABLE_NODE_JOURNAL="${ENABLE_NODE_JOURNAL:-false}"
|
||||||
|
@ -322,9 +322,6 @@ export DNS_MEMORY_LIMIT=${KUBE_DNS_MEMORY_LIMIT:-170Mi}
|
|||||||
# Optional: Enable DNS horizontal autoscaler
|
# Optional: Enable DNS horizontal autoscaler
|
||||||
export ENABLE_DNS_HORIZONTAL_AUTOSCALER=${KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER:-true}
|
export ENABLE_DNS_HORIZONTAL_AUTOSCALER=${KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER:-true}
|
||||||
|
|
||||||
# Optional: Install Kubernetes UI
|
|
||||||
export ENABLE_CLUSTER_UI=${KUBE_ENABLE_CLUSTER_UI:-true}
|
|
||||||
|
|
||||||
# Optional: Install node problem detector.
|
# Optional: Install node problem detector.
|
||||||
# none - Not run node problem detector.
|
# none - Not run node problem detector.
|
||||||
# daemonset - Run node problem detector as daemonset.
|
# daemonset - Run node problem detector as daemonset.
|
||||||
@ -511,14 +508,11 @@ HEAPSTER_GCP_MEMORY_PER_NODE=${HEAPSTER_GCP_MEMORY_PER_NODE:-4}
|
|||||||
HEAPSTER_GCP_BASE_CPU=${HEAPSTER_GCP_BASE_CPU:-80m}
|
HEAPSTER_GCP_BASE_CPU=${HEAPSTER_GCP_BASE_CPU:-80m}
|
||||||
HEAPSTER_GCP_CPU_PER_NODE=${HEAPSTER_GCP_CPU_PER_NODE:-0.5}
|
HEAPSTER_GCP_CPU_PER_NODE=${HEAPSTER_GCP_CPU_PER_NODE:-0.5}
|
||||||
|
|
||||||
# Optional: custom system banner for dashboard addon
|
|
||||||
CUSTOM_KUBE_DASHBOARD_BANNER=${CUSTOM_KUBE_DASHBOARD_BANNER:-}
|
|
||||||
|
|
||||||
# Default Stackdriver resources version exported by Fluentd-gcp addon
|
# Default Stackdriver resources version exported by Fluentd-gcp addon
|
||||||
LOGGING_STACKDRIVER_RESOURCE_TYPES=${LOGGING_STACKDRIVER_RESOURCE_TYPES:-old}
|
LOGGING_STACKDRIVER_RESOURCE_TYPES=${LOGGING_STACKDRIVER_RESOURCE_TYPES:-old}
|
||||||
|
|
||||||
# Adding to PROVIDER_VARS, since this is GCP-specific.
|
# Adding to PROVIDER_VARS, since this is GCP-specific.
|
||||||
PROVIDER_VARS="${PROVIDER_VARS:-} FLUENTD_GCP_YAML_VERSION FLUENTD_GCP_VERSION FLUENTD_GCP_MEMORY_LIMIT FLUENTD_GCP_CPU_REQUEST FLUENTD_GCP_MEMORY_REQUEST HEAPSTER_GCP_BASE_MEMORY HEAPSTER_GCP_MEMORY_PER_NODE HEAPSTER_GCP_BASE_CPU HEAPSTER_GCP_CPU_PER_NODE CUSTOM_KUBE_DASHBOARD_BANNER LOGGING_STACKDRIVER_RESOURCE_TYPES"
|
PROVIDER_VARS="${PROVIDER_VARS:-} FLUENTD_GCP_YAML_VERSION FLUENTD_GCP_VERSION FLUENTD_GCP_MEMORY_LIMIT FLUENTD_GCP_CPU_REQUEST FLUENTD_GCP_MEMORY_REQUEST HEAPSTER_GCP_BASE_MEMORY HEAPSTER_GCP_MEMORY_PER_NODE HEAPSTER_GCP_BASE_CPU HEAPSTER_GCP_CPU_PER_NODE LOGGING_STACKDRIVER_RESOURCE_TYPES"
|
||||||
|
|
||||||
# Fluentd configuration for node-journal
|
# Fluentd configuration for node-journal
|
||||||
ENABLE_NODE_JOURNAL=${ENABLE_NODE_JOURNAL:-false}
|
ENABLE_NODE_JOURNAL=${ENABLE_NODE_JOURNAL:-false}
|
||||||
|
@ -2596,12 +2596,6 @@ function update-event-exporter {
|
|||||||
sed -i -e "s@{{ exporter_sd_endpoint }}@${STACKDRIVER_ENDPOINT:-}@g" "$1"
|
sed -i -e "s@{{ exporter_sd_endpoint }}@${STACKDRIVER_ENDPOINT:-}@g" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
function update-dashboard-deployment {
|
|
||||||
if [ -n "${CUSTOM_KUBE_DASHBOARD_BANNER:-}" ]; then
|
|
||||||
sed -i -e "s@\( \+\)# PLATFORM-SPECIFIC ARGS HERE@\1- --system-banner=${CUSTOM_KUBE_DASHBOARD_BANNER}\n\1- --system-banner-severity=WARNING@" "$1"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Sets up the manifests of coreDNS for k8s addons.
|
# Sets up the manifests of coreDNS for k8s addons.
|
||||||
function setup-coredns-manifest {
|
function setup-coredns-manifest {
|
||||||
setup-addon-manifests "addons" "0-dns/coredns"
|
setup-addon-manifests "addons" "0-dns/coredns"
|
||||||
@ -2828,11 +2822,6 @@ EOF
|
|||||||
update-event-exporter ${event_exporter_yaml}
|
update-event-exporter ${event_exporter_yaml}
|
||||||
update-prometheus-to-sd-parameters ${event_exporter_yaml}
|
update-prometheus-to-sd-parameters ${event_exporter_yaml}
|
||||||
fi
|
fi
|
||||||
if [[ "${ENABLE_CLUSTER_UI:-}" == "true" ]]; then
|
|
||||||
setup-addon-manifests "addons" "dashboard"
|
|
||||||
local -r dashboard_deployment_yaml="${dst_dir}/dashboard/dashboard-deployment.yaml"
|
|
||||||
update-dashboard-deployment ${dashboard_deployment_yaml}
|
|
||||||
fi
|
|
||||||
if [[ "${ENABLE_NODE_PROBLEM_DETECTOR:-}" == "daemonset" ]]; then
|
if [[ "${ENABLE_NODE_PROBLEM_DETECTOR:-}" == "daemonset" ]]; then
|
||||||
setup-addon-manifests "addons" "node-problem-detector"
|
setup-addon-manifests "addons" "node-problem-detector"
|
||||||
fi
|
fi
|
||||||
|
@ -1099,7 +1099,6 @@ METADATA_AGENT_CLUSTER_LEVEL_MEMORY_REQUEST: $(yaml-quote "${METADATA_AGENT_CLUS
|
|||||||
DOCKER_REGISTRY_MIRROR_URL: $(yaml-quote "${DOCKER_REGISTRY_MIRROR_URL:-}")
|
DOCKER_REGISTRY_MIRROR_URL: $(yaml-quote "${DOCKER_REGISTRY_MIRROR_URL:-}")
|
||||||
ENABLE_L7_LOADBALANCING: $(yaml-quote "${ENABLE_L7_LOADBALANCING:-none}")
|
ENABLE_L7_LOADBALANCING: $(yaml-quote "${ENABLE_L7_LOADBALANCING:-none}")
|
||||||
ENABLE_CLUSTER_LOGGING: $(yaml-quote "${ENABLE_CLUSTER_LOGGING:-false}")
|
ENABLE_CLUSTER_LOGGING: $(yaml-quote "${ENABLE_CLUSTER_LOGGING:-false}")
|
||||||
ENABLE_CLUSTER_UI: $(yaml-quote "${ENABLE_CLUSTER_UI:-false}")
|
|
||||||
ENABLE_NODE_PROBLEM_DETECTOR: $(yaml-quote "${ENABLE_NODE_PROBLEM_DETECTOR:-none}")
|
ENABLE_NODE_PROBLEM_DETECTOR: $(yaml-quote "${ENABLE_NODE_PROBLEM_DETECTOR:-none}")
|
||||||
NODE_PROBLEM_DETECTOR_VERSION: $(yaml-quote "${NODE_PROBLEM_DETECTOR_VERSION:-}")
|
NODE_PROBLEM_DETECTOR_VERSION: $(yaml-quote "${NODE_PROBLEM_DETECTOR_VERSION:-}")
|
||||||
NODE_PROBLEM_DETECTOR_TAR_HASH: $(yaml-quote "${NODE_PROBLEM_DETECTOR_TAR_HASH:-}")
|
NODE_PROBLEM_DETECTOR_TAR_HASH: $(yaml-quote "${NODE_PROBLEM_DETECTOR_TAR_HASH:-}")
|
||||||
|
@ -85,9 +85,6 @@ STORAGE_MEDIA_TYPE=${STORAGE_MEDIA_TYPE:-"application/vnd.kubernetes.protobuf"}
|
|||||||
# preserve etcd data. you also need to set ETCD_DIR.
|
# preserve etcd data. you also need to set ETCD_DIR.
|
||||||
PRESERVE_ETCD="${PRESERVE_ETCD:-false}"
|
PRESERVE_ETCD="${PRESERVE_ETCD:-false}"
|
||||||
|
|
||||||
# enable kubernetes dashboard
|
|
||||||
ENABLE_CLUSTER_DASHBOARD=${KUBE_ENABLE_CLUSTER_DASHBOARD:-false}
|
|
||||||
|
|
||||||
# enable Kubernetes-CSI snapshotter
|
# enable Kubernetes-CSI snapshotter
|
||||||
ENABLE_CSI_SNAPSHOTTER=${ENABLE_CSI_SNAPSHOTTER:-false}
|
ENABLE_CSI_SNAPSHOTTER=${ENABLE_CSI_SNAPSHOTTER:-false}
|
||||||
|
|
||||||
@ -923,15 +920,6 @@ function start_nodelocaldns {
|
|||||||
rm nodelocaldns.yaml
|
rm nodelocaldns.yaml
|
||||||
}
|
}
|
||||||
|
|
||||||
function start_kubedashboard {
|
|
||||||
if [[ "${ENABLE_CLUSTER_DASHBOARD}" = true ]]; then
|
|
||||||
echo "Creating kubernetes-dashboard"
|
|
||||||
# use kubectl to create the dashboard
|
|
||||||
${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" apply -f "${KUBE_ROOT}/cluster/addons/dashboard/dashboard.yaml"
|
|
||||||
echo "kubernetes-dashboard deployment and service successfully deployed."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function start_csi_snapshotter {
|
function start_csi_snapshotter {
|
||||||
if [[ "${ENABLE_CSI_SNAPSHOTTER}" = true ]]; then
|
if [[ "${ENABLE_CSI_SNAPSHOTTER}" = true ]]; then
|
||||||
echo "Creating Kubernetes-CSI snapshotter"
|
echo "Creating Kubernetes-CSI snapshotter"
|
||||||
@ -1099,7 +1087,6 @@ if [[ "${START_MODE}" != "kubeletonly" ]]; then
|
|||||||
if [[ "${ENABLE_NODELOCAL_DNS:-}" == "true" ]]; then
|
if [[ "${ENABLE_NODELOCAL_DNS:-}" == "true" ]]; then
|
||||||
start_nodelocaldns
|
start_nodelocaldns
|
||||||
fi
|
fi
|
||||||
start_kubedashboard
|
|
||||||
start_csi_snapshotter
|
start_csi_snapshotter
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -58,7 +58,6 @@ import (
|
|||||||
_ "k8s.io/kubernetes/test/e2e/scheduling"
|
_ "k8s.io/kubernetes/test/e2e/scheduling"
|
||||||
_ "k8s.io/kubernetes/test/e2e/storage"
|
_ "k8s.io/kubernetes/test/e2e/storage"
|
||||||
_ "k8s.io/kubernetes/test/e2e/storage/external"
|
_ "k8s.io/kubernetes/test/e2e/storage/external"
|
||||||
_ "k8s.io/kubernetes/test/e2e/ui"
|
|
||||||
_ "k8s.io/kubernetes/test/e2e/windows"
|
_ "k8s.io/kubernetes/test/e2e/windows"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,95 +0,0 @@
|
|||||||
/*
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package ui
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
|
||||||
utilnet "k8s.io/apimachinery/pkg/util/net"
|
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
|
||||||
e2enetwork "k8s.io/kubernetes/test/e2e/framework/network"
|
|
||||||
e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
|
|
||||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
|
||||||
testutils "k8s.io/kubernetes/test/utils"
|
|
||||||
|
|
||||||
"github.com/onsi/ginkgo"
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ = SIGDescribe("Kubernetes Dashboard [Feature:Dashboard]", func() {
|
|
||||||
ginkgo.BeforeEach(func() {
|
|
||||||
// TODO(kubernetes/kubernetes#61559): Enable dashboard here rather than skip the test.
|
|
||||||
e2eskipper.SkipIfProviderIs("gke")
|
|
||||||
})
|
|
||||||
|
|
||||||
const (
|
|
||||||
uiServiceName = "kubernetes-dashboard"
|
|
||||||
uiAppName = uiServiceName
|
|
||||||
uiNamespace = metav1.NamespaceSystem
|
|
||||||
|
|
||||||
serverStartTimeout = 1 * time.Minute
|
|
||||||
)
|
|
||||||
|
|
||||||
f := framework.NewDefaultFramework(uiServiceName)
|
|
||||||
|
|
||||||
ginkgo.It("should check that the kubernetes-dashboard instance is alive", func() {
|
|
||||||
ginkgo.By("Checking whether the kubernetes-dashboard service exists.")
|
|
||||||
err := e2enetwork.WaitForService(f.ClientSet, uiNamespace, uiServiceName, true, framework.Poll, framework.ServiceStartTimeout)
|
|
||||||
framework.ExpectNoError(err)
|
|
||||||
|
|
||||||
ginkgo.By("Checking to make sure the kubernetes-dashboard pods are running")
|
|
||||||
selector := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": uiAppName}))
|
|
||||||
err = testutils.WaitForPodsWithLabelRunning(f.ClientSet, uiNamespace, selector)
|
|
||||||
framework.ExpectNoError(err)
|
|
||||||
|
|
||||||
ginkgo.By("Checking to make sure we get a response from the kubernetes-dashboard.")
|
|
||||||
err = wait.Poll(framework.Poll, serverStartTimeout, func() (bool, error) {
|
|
||||||
var status int
|
|
||||||
proxyRequest, errProxy := e2eservice.GetServicesProxyRequest(f.ClientSet, f.ClientSet.CoreV1().RESTClient().Get())
|
|
||||||
if errProxy != nil {
|
|
||||||
framework.Logf("Get services proxy request failed: %v", errProxy)
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), framework.SingleCallTimeout)
|
|
||||||
defer cancel()
|
|
||||||
|
|
||||||
// Query against the proxy URL for the kubernetes-dashboard service.
|
|
||||||
err := proxyRequest.Namespace(uiNamespace).
|
|
||||||
Name(utilnet.JoinSchemeNamePort("https", uiServiceName, "")).
|
|
||||||
Timeout(framework.SingleCallTimeout).
|
|
||||||
Do(ctx).
|
|
||||||
StatusCode(&status).
|
|
||||||
Error()
|
|
||||||
if err != nil {
|
|
||||||
if ctx.Err() != nil {
|
|
||||||
framework.Failf("Request to kubernetes-dashboard failed: %v", err)
|
|
||||||
return true, err
|
|
||||||
}
|
|
||||||
framework.Logf("Request to kubernetes-dashboard failed: %v", err)
|
|
||||||
} else if status != http.StatusOK {
|
|
||||||
framework.Logf("Unexpected status from kubernetes-dashboard: %v", status)
|
|
||||||
}
|
|
||||||
// Don't return err here as it aborts polling.
|
|
||||||
return status == http.StatusOK, nil
|
|
||||||
})
|
|
||||||
framework.ExpectNoError(err)
|
|
||||||
})
|
|
||||||
})
|
|
@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2017 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package ui
|
|
||||||
|
|
||||||
import "github.com/onsi/ginkgo"
|
|
||||||
|
|
||||||
// SIGDescribe annotates the test with the SIG label.
|
|
||||||
func SIGDescribe(text string, body func()) bool {
|
|
||||||
return ginkgo.Describe("[sig-ui] "+text, body)
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user