···
cfg = config.services.kubernetes.addons.dashboard;
8
-
name = "gcr.io/google_containers/kubernetes-dashboard-amd64";
8
+
name = "k8s.gcr.io/kubernetes-dashboard-amd64";
image = pkgs.dockerTools.pullImage {
13
+
imageDigest = "sha256:dc4026c1b595435ef5527ca598e1e9c4343076926d7d62b365c44831395adbd0";
14
-
sha256 = "11h0fz3wxp0f10fsyqaxjm7l2qg7xws50dv5iwlck5gb1fjmajad";
15
-
imageDigest = "sha256:e7984d10351601080bbc146635d51f0cfbea31ca6f0df323cf7a58cf2f6a68df";
15
+
sha256 = "18ajcg0q1vignfjk2sm4xj4wzphfz8wah69ps8dklqfvv0164mc8";
options.services.kubernetes.addons.dashboard = {
···
services.kubernetes.addonManager.addons = {
kubernetes-dashboard-deployment = {
34
-
apiVersion = "apps/v1beta1";
34
+
apiVersion = "apps/v1";
k8s-addon = "kubernetes-dashboard.addons.k8s.io";
···
"scheduler.alpha.kubernetes.io/critical-pod" = "";
60
-
#"scheduler.alpha.kubernetes.io/tolerations" = ''[{"key":"CriticalAddonsOnly", "operator":"Exists"}]'';
63
+
priorityClassName = "system-cluster-critical";
name = "kubernetes-dashboard";
image = "${name}:${version}";
68
-
containerPort = 9090;
68
+
containerPort = 8443;
81
+
args = ["--auto-generate-certificates"];
83
+
name = "tmp-volume";
86
+
name = "kubernetes-dashboard-certs";
87
+
mountPath = "/certs";
initialDelaySeconds = 30;
100
+
name = "kubernetes-dashboard-certs";
102
+
secretName = "kubernetes-dashboard-certs";
105
+
name = "tmp-volume";
serviceAccountName = "kubernetes-dashboard";
key = "node-role.kubernetes.io/master";
113
+
key = "CriticalAddonsOnly";
114
+
operator = "Exists";
···
selector.k8s-app = "kubernetes-dashboard";
···
k8s-app = "kubernetes-dashboard";
k8s-addon = "kubernetes-dashboard.addons.k8s.io";
130
-
"addonmanager.kubernetes.io/mode" = "Reconcile";
151
+
"addonmanager.kubernetes.io/mode" = "Reconcile";
name = "kubernetes-dashboard";
namespace = "kube-system";
157
+
kubernetes-dashboard-sec-certs = {
162
+
k8s-app = "kubernetes-dashboard";
163
+
# Allows editing resource and makes sure it is created first.
164
+
"addonmanager.kubernetes.io/mode" = "EnsureExists";
166
+
name = "kubernetes-dashboard-certs";
167
+
namespace = "kube-system";
171
+
kubernetes-dashboard-sec-kholder = {
176
+
k8s-app = "kubernetes-dashboard";
177
+
# Allows editing resource and makes sure it is created first.
178
+
"addonmanager.kubernetes.io/mode" = "EnsureExists";
180
+
name = "kubernetes-dashboard-key-holder";
181
+
namespace = "kube-system";
185
+
kubernetes-dashboard-cm = {
187
+
kind = "ConfigMap";
190
+
k8s-app = "kubernetes-dashboard";
191
+
# Allows editing resource and makes sure it is created first.
192
+
"addonmanager.kubernetes.io/mode" = "EnsureExists";
194
+
name = "kubernetes-dashboard-settings";
195
+
namespace = "kube-system";
} // (optionalAttrs cfg.enableRBAC {
kubernetes-dashboard-crb = {
138
-
apiVersion = "rbac.authorization.k8s.io/v1beta1";
200
+
apiVersion = "rbac.authorization.k8s.io/v1";
kind = "ClusterRoleBinding";
name = "kubernetes-dashboard";