diff --git a/defaults/main.yml b/defaults/main.yml index ed82cbf..245c884 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,3 +1,2 @@ my_context: minikube -metrics_server_version: "v0.4.4" -metrics_server_url: "https://github.com/kubernetes-sigs/metrics-server/releases/download/{{ metrics_server_version }}/components.yaml" \ No newline at end of file +metrics_server_version: "0.5.1" diff --git a/files/metrics-server-Deployment.yaml b/files/metrics-server-Deployment.yaml deleted file mode 100644 index 9a5f5a6..0000000 --- a/files/metrics-server-Deployment.yaml +++ /dev/null @@ -1,67 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - k8s-app: metrics-server - name: metrics-server - namespace: kube-system -spec: - selector: - matchLabels: - k8s-app: metrics-server - strategy: - rollingUpdate: - maxUnavailable: 0 - template: - metadata: - labels: - k8s-app: metrics-server - spec: - containers: - - args: - - --kubelet-insecure-tls - - --cert-dir=/tmp - - --secure-port=443 - - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - - --kubelet-use-node-status-port - - --metric-resolution=15s - image: k8s.gcr.io/metrics-server/metrics-server:v0.5.1 - imagePullPolicy: IfNotPresent - livenessProbe: - failureThreshold: 3 - httpGet: - path: /livez - port: https - scheme: HTTPS - periodSeconds: 10 - name: metrics-server - ports: - - containerPort: 443 - name: https - protocol: TCP - readinessProbe: - failureThreshold: 3 - httpGet: - path: /readyz - port: https - scheme: HTTPS - initialDelaySeconds: 20 - periodSeconds: 10 - resources: - requests: - cpu: 100m - memory: 200Mi - securityContext: - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1000 - volumeMounts: - - mountPath: /tmp - name: tmp-dir - nodeSelector: - kubernetes.io/os: linux - priorityClassName: system-cluster-critical - serviceAccountName: metrics-server - volumes: - - emptyDir: {} - name: tmp-dir diff --git a/files/metrics-server-Service.yaml b/files/metrics-server-Service.yaml deleted file mode 100644 index e63ea9f..0000000 --- a/files/metrics-server-Service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - k8s-app: metrics-server - name: metrics-server - namespace: kube-system -spec: - ports: - - name: https - port: 443 - protocol: TCP - targetPort: https - selector: - k8s-app: metrics-server diff --git a/files/metrics-server-ServiceAccount.yaml b/files/metrics-server-ServiceAccount.yaml deleted file mode 100644 index dac9ae6..0000000 --- a/files/metrics-server-ServiceAccount.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - k8s-app: metrics-server - name: metrics-server - namespace: kube-system diff --git a/files/metrics-server-auth-reader-RoleBinding.yaml b/files/metrics-server-auth-reader-RoleBinding.yaml deleted file mode 100644 index a6e71b8..0000000 --- a/files/metrics-server-auth-reader-RoleBinding.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - labels: - k8s-app: metrics-server - name: metrics-server-auth-reader - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: extension-apiserver-authentication-reader -subjects: -- kind: ServiceAccount - name: metrics-server - namespace: kube-system diff --git a/files/metrics-server:system:auth-delegator-ClusterRoleBinding.yaml b/files/metrics-server:system:auth-delegator-ClusterRoleBinding.yaml deleted file mode 100644 index 3eae64b..0000000 --- a/files/metrics-server:system:auth-delegator-ClusterRoleBinding.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - k8s-app: metrics-server - name: metrics-server:system:auth-delegator -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: metrics-server - namespace: kube-system diff --git a/files/system:aggregated-metrics-reader-ClusterRole.yaml b/files/system:aggregated-metrics-reader-ClusterRole.yaml deleted file mode 100644 index 972d3d0..0000000 --- a/files/system:aggregated-metrics-reader-ClusterRole.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - k8s-app: metrics-server - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" - rbac.authorization.k8s.io/aggregate-to-view: "true" - name: system:aggregated-metrics-reader -rules: -- apiGroups: - - metrics.k8s.io - resources: - - pods - - nodes - verbs: - - get - - list - - watch diff --git a/files/system:metrics-server-ClusterRole.yaml b/files/system:metrics-server-ClusterRole.yaml deleted file mode 100644 index e3d29d5..0000000 --- a/files/system:metrics-server-ClusterRole.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - k8s-app: metrics-server - name: system:metrics-server -rules: -- apiGroups: - - "" - resources: - - pods - - nodes - - nodes/stats - - namespaces - - configmaps - verbs: - - get - - list - - watch diff --git a/files/system:metrics-server-ClusterRoleBinding.yaml b/files/system:metrics-server-ClusterRoleBinding.yaml deleted file mode 100644 index a1d0fad..0000000 --- a/files/system:metrics-server-ClusterRoleBinding.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - k8s-app: metrics-server - name: system:metrics-server -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:metrics-server -subjects: -- kind: ServiceAccount - name: metrics-server - namespace: kube-system diff --git a/files/v1beta1.metrics.k8s.io-APIService.yaml b/files/v1beta1.metrics.k8s.io-APIService.yaml deleted file mode 100644 index 65fdae9..0000000 --- a/files/v1beta1.metrics.k8s.io-APIService.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - labels: - k8s-app: metrics-server - name: v1beta1.metrics.k8s.io -spec: - group: metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: metrics-server - namespace: kube-system - version: v1beta1 - versionPriority: 100 diff --git a/tasks/main.yml b/tasks/main.yml index da52b17..ae1d769 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,14 +1,21 @@ - name: Metrics Server setup block: - - name: Include vars - include_vars: "metrics_server_files_list.yml" - - name: Metrics Server install - k8s: - state: present + # https://github.com/kubernetes-sigs/metrics-server/tree/master/charts/metrics-server + - name: Defined Kubernetes Metrics Server repository + kubernetes.core.helm_repository: + name: metrics-server + repo_url: "https://kubernetes-sigs.github.io/metrics-server" + - name: Deploy latest version of Kubernetes Metrics Server + kubernetes.core.helm: context: "{{ my_context }}" - merge_type: merge - resource_definition: "{{ lookup('file', item) | from_yaml }}" - with_items: - - '{{ metrics_server_files }}' + name: metrics-server + release_namespace: "kube-system" + chart_ref: metrics-server/metrics-server + values: +# image: +# tag: "{{ metrics_server_version }}" + args: + - --kubelet-insecure-tls + - --metric-resolution=15s tags: - metrics-server \ No newline at end of file diff --git a/vars/metrics_server_files_list.yml b/vars/metrics_server_files_list.yml deleted file mode 100644 index a2ec337..0000000 --- a/vars/metrics_server_files_list.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -metrics_server_files: - - "metrics-server-ServiceAccount.yaml" - - "system:aggregated-metrics-reader-ClusterRole.yaml" - - "system:metrics-server-ClusterRole.yaml" - - "metrics-server-auth-reader-RoleBinding.yaml" - - "metrics-server:system:auth-delegator-ClusterRoleBinding.yaml" - - "system:metrics-server-ClusterRoleBinding.yaml" - - "metrics-server-Service.yaml" - - "metrics-server-Deployment.yaml" - - "v1beta1.metrics.k8s.io-APIService.yaml"