10-3 Kubernetes 使用 Helm 部署 metrics-server

一、说明

从 Heapster 的 github <https://github.com/kubernetes/heapster >中可以看到已经,heapster 已经DEPRECATED。这里是 heapster的deprecation timeline。 可以看出 heapster 从 Kubernetes 1.12 开始将从 Kubernetes 各种安装脚本中移除。Kubernetes 推荐使用 metrics-server。我们这里也使用helm来部署metrics-server。

二、部署

metrics-server.yaml:

args:
- --logtostderr
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP
helm install stable/metrics-server \
-n metrics-server \
--namespace kube-system \
-f metrics-server.yaml

使用下面的命令可以获取到关于集群节点基本的指标信息:

kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
node1 650m 32% 1276Mi 73%
node2 73m 3% 527Mi 30%
kubectl top pod --all-namespaces
NAMESPACE NAME CPU(cores) MEMORY(bytes)
ingress-nginx nginx-ingress-controller-6f5687c58d-jdxzk 3m 142Mi
ingress-nginx nginx-ingress-controller-6f5687c58d-lxj5q 5m 146Mi
ingress-nginx nginx-ingress-default-backend-6dc6c46dcc-lf882 1m 4Mi
kube-system coredns-86c58d9df4-k5jkh 2m 15Mi
kube-system coredns-86c58d9df4-rw6tt 3m 23Mi
kube-system etcd-node1 20m 86Mi
kube-system kube-apiserver-node1 33m 468Mi
kube-system kube-controller-manager-node1 29m 89Mi
kube-system kube-flannel-ds-amd64-8nr5j 2m 13Mi
kube-system kube-flannel-ds-amd64-bmncz 2m 21Mi
kube-system kube-proxy-d5gxv 2m 18Mi
kube-system kube-proxy-zm29n 2m 16Mi
kube-system kube-scheduler-node1 8m 28Mi
kube-system kubernetes-dashboard-788c98d699-qd2cx 2m 16Mi
kube-system metrics-server-68785fbcb4-k4g9v 3m 12Mi
kube-system tiller-deploy-c4fd4cd68-dwkhv 1m 24Mi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Helm 命令来安装 logstash-input-kubernetes,步骤如下: 1. 添加 Elastic 官方的 Helm 仓库: ``` helm repo add elastic https://helm.elastic.co ``` 2. 创建一个 Helm chart: ``` helm create my-logstash-kubernetes ``` 3. 打开 my-logstash-kubernetes/values.yaml 文件,添加以下配置: ``` esHost: "elasticsearch-master.elasticsearch.svc.cluster.local" esPort: "9200" image: "docker.elastic.co/logstash/logstash-oss:7.11.2" ``` 这些配置项指定了 Elasticsearch 的主机和端口,以及使用的 Logstash 镜像。 4. 打开 my-logstash-kubernetes/templates/deployment.yaml 文件,添加以下部分: ``` - name: logstash-input-kubernetes image: {{ .Values.image }} env: - name: LOGSTASH_JAVA_OPTS value: "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.rmi.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=localhost" args: - "-f" - "/usr/share/logstash/pipeline/logstash.conf" - "--config.reload.automatic" - "--config.reload.interval=5s" volumeMounts: - name: config mountPath: /usr/share/logstash/pipeline/logstash.conf subPath: logstash.conf ports: - containerPort: 5044 resources: limits: cpu: 1000m memory: 2Gi requests: cpu: 500m memory: 1Gi ``` 这个部分定义了一个名为 logstash-input-kubernetes 的容器,使用了之前指定的 Logstash 镜像,并挂载了一个名为 config 的 ConfigMap。 5. 打开 my-logstash-kubernetes/templates/service.yaml 文件,添加以下部分: ``` - name: logstash-input-kubernetes port: 5044 targetPort: 5044 ``` 这个部分定义了一个名为 logstash-input-kubernetes 的服务,使用了之前定义的端口。 6. 创建一个 ConfigMap,用于存储 Logstash 的配置文件: ``` kubectl create configmap my-logstash-config --from-file=logstash.conf=./logstash.conf ``` 7. 使用 Helm 命令安装 Logstash: ``` helm install my-logstash-kubernetes elastic/logstash --values=my-logstash-kubernetes/values.yaml ``` 这个命令会创建一个名为 my-logstash-kubernetesKubernetes 部署,并启动一个名为 logstash-input-kubernetes 的容器。容器会使用之前创建的 ConfigMap 中的配置文件来处理 Kubernetes 的日志数据,并将数据发送到 Elasticsearch。 以上就是使用 Helm 安装 logstash-input-kubernetes 的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值