From 1272e54b83203fba6ac90a4b40792931e17d65c5 Mon Sep 17 00:00:00 2001 From: Piwriw Date: Mon, 13 Mar 2023 12:02:26 +0800 Subject: [PATCH] add metrics-demo Signed-off-by: Piwriw --- metrics-demo/README.md | 123 +++++++++++ metrics-demo/crds/components.yaml | 197 ++++++++++++++++++ metrics-demo/crds/redis.yaml | 18 ++ .../images/metrics-redis-result-cloud.png | Bin 0 -> 33078 bytes .../images/metrics-redis-result-edge.png | Bin 0 -> 40104 bytes 5 files changed, 338 insertions(+) create mode 100644 metrics-demo/README.md create mode 100644 metrics-demo/crds/components.yaml create mode 100644 metrics-demo/crds/redis.yaml create mode 100644 metrics-demo/images/metrics-redis-result-cloud.png create mode 100644 metrics-demo/images/metrics-redis-result-edge.png diff --git a/metrics-demo/README.md b/metrics-demo/README.md new file mode 100644 index 00000000..b1f4998d --- /dev/null +++ b/metrics-demo/README.md @@ -0,0 +1,123 @@ +# metrics-demo + +## Environment prepare + +- KubeEdge、k8s 、node、cloud and so on + +## Steps + +1. Open `edgeStream` in edge + + ```sh + vim /etc/kubeedge/config/edgecore.yaml + ``` + + ```yaml + modules: + ... + edgeStream: + enable: true + handshakeTimeout: 30 + readDeadline: 15 + server: 124.222.110.11:10004 + tlsTunnelCAFile: /etc/kubeedge/ca/rootCA.crt + tlsTunnelCertFile: /etc/kubeedge/certs/server.crt + tlsTunnelPrivateKeyFile: /etc/kubeedge/certs/server.key + writeDeadline: 15 + .... + ``` + + + +2. Restart EdgeCore + + ```sh + systemctl restart edgecore.service + ``` + +3. Download `metrics-server` yaml, you should care about `Metrics Server Version` and ` Kubernetes version`, more in [metrics-server](https://github.com/kubernetes-sigs/metrics-server#compatibility-matrix) + ```sh + wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml + ``` + +4. Add ` hostNetwork: true` in yaml and ` - --kubelet-insecure-tls` + + ```yaml + template: + metadata: + labels: + k8s-app: metrics-server + spec: + hostNetwork: true + containers: + - args: + - --cert-dir=/tmp + - --secure-port=4443 + - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname + - --kubelet-use-node-status-port + - --metric-resolution=15s + - --kubelet-insecure-tls + image: k8s.gcr.io/metrics-server/metrics-server:v0.6.2 + ``` + +5. Apply for metrics-server when you can normal download from `k8s.gcr.io` + + ```sh + kubectl apply -f components.yaml + ``` + + When you can't access normally `k8s.gcr.io`,you can try this way: + + ```sh + # find the image + cat components.yaml + + # Pull from dockerproxy + docker pull k8s.dockerproxy.com/metrics-server/metrics-server:v0.6.2 + + # use docker tag + docker tag k8s.dockerproxy.com/metrics-server/metrics-server:v0.6.2 k8s.gcr.io/metrics-server/metrics-server:v0.6.2 + + # apply for yaml + kubectl apply -f components.yaml + ``` + + ## Test + + It is tested by redis. + + 1. Edit the `redis.yaml`, you should care `spec/nodeName` to use your nodeName + + ```sh + vim redis.yaml + ``` + + 2. Apply for `redis.yaml` + + ```sh + kubectl apply redis.yaml + ``` + + 3. Now,you can view logs from edge + + ```sh + # find redid pod + kubectl get po -A + + # view logs in cloud + kubectl logs redis-7c84bc4b7f-x5kmk + + # view log in edge to validate + docker logs k8s_redis_redis-7c84bc4b7f-znjs4_default_3ce4f96b-f8a8-4d1f-a983-b8165b65522f_0 + ``` + + +You will get results just like this + +Cloud logs: + + + +Edge logs: + + diff --git a/metrics-demo/crds/components.yaml b/metrics-demo/crds/components.yaml new file mode 100644 index 00000000..d804dcb5 --- /dev/null +++ b/metrics-demo/crds/components.yaml @@ -0,0 +1,197 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + k8s-app: metrics-server + name: metrics-server + namespace: kube-system +--- +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 +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + k8s-app: metrics-server + name: system:metrics-server +rules: + - apiGroups: + - "" + resources: + - nodes/metrics + verbs: + - get + - apiGroups: + - "" + resources: + - pods + - nodes + verbs: + - get + - list + - watch +--- +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 +--- +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 +--- +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 +--- +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 +--- +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: + hostNetwork: true + containers: + - args: + - --cert-dir=/tmp + - --secure-port=4443 + - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname + - --kubelet-use-node-status-port + - --metric-resolution=15s + image: k8s.gcr.io/metrics-server/metrics-server:v0.6.2 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 3 + httpGet: + path: /livez + port: https + scheme: HTTPS + periodSeconds: 10 + name: metrics-server + ports: + - containerPort: 4443 + 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: + allowPrivilegeEscalation: false + 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 +--- +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/metrics-demo/crds/redis.yaml b/metrics-demo/crds/redis.yaml new file mode 100644 index 00000000..7d696cbb --- /dev/null +++ b/metrics-demo/crds/redis.yaml @@ -0,0 +1,18 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis +spec: + selector: + matchLabels: + app: redis + replicas: 1 + template: + metadata: + labels: + app: redis + spec: + nodeName: edge-02 + containers: + - name: redis + image: redis diff --git a/metrics-demo/images/metrics-redis-result-cloud.png b/metrics-demo/images/metrics-redis-result-cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2033e158ca3851423119e7413dc66445b90415 GIT binary patch literal 33078 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 uU@O`Zvhm1)``}-MTCieOOzbvhbNhPmGzo&N+4f literal 0 HcmV?d00001 diff --git a/metrics-demo/images/metrics-redis-result-edge.png b/metrics-demo/images/metrics-redis-result-edge.png new file mode 100644 index 0000000000000000000000000000000000000000..90955e4ba400b1d5319304f499ccebc3413a5402 GIT binary patch literal 40104 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

e~Rw)5ZXBHeoI_wWo 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

1%%aCgO8Ne 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 JA6uVH`U?r=#XA51 literal 0 HcmV?d00001