国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus

這篇具有很好參考價值的文章主要介紹了k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

只有一個問題,原來的httpGet存活、就緒檢測一直不通過,于是改為tcpSocket后pod正常。

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

修改后的yaml文件,鏡像修改為阿里云

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:
      containers:
      - args:
#        - --cert-dir=/tmp
#        - --secure-port=4443
#        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
#        - --kubelet-use-node-status-port
#        - --metric-resolution=15s
        - --cert-dir=/tmp
        - --secure-port=4443
        - --metric-resolution=30s
        - --kubelet-insecure-tls
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --requestheader-username-headers=X-Remote-User
        - --requestheader-group-headers=X-Remote-Group
        - --requestheader-extra-headers-prefix=X-Remote-Extra-
        image: registry.aliyuncs.com/google_containers/metrics-server:v0.6.4
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          tcpSocket:
            port: 4443
          periodSeconds: 10
        name: metrics-server
        ports:
        - containerPort: 4443
          name: https
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          tcpSocket:
            port: 4443
          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
kubectl apply -f components.yaml

k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,Kubernetes,kubernetes,容器,云原生

k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,Kubernetes,kubernetes,容器,云原生
部署kube-prometheus
兼容1.27的為main分支

k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,Kubernetes,kubernetes,容器,云原生
只克隆main分支

git clone  --single-branch --branch main https://github.com/prometheus-operator/kube-prometheus.git
cd kube-prometheus

如果直接運行kubectl apply -f manifests/setup/,會有元數(shù)據(jù)注解太長的錯誤
Error from server (Invalid): error when creating "manifests/setup/0prometheusCustomResourceDefinition.yaml": CustomResourceDefinition.apiextensions.k8s.io "prometheuses.monitoring.coreos.com" is invalid: metadata.annotations: Too long: must have at most 262144 bytes

應(yīng)該使用以下方式
1. kubectl apply -f manifests/setup/
2. kubectl apply --server-side -f manifests/setup 

CRD正常創(chuàng)建后然后再執(zhí)行:
kubectl apply -f manifests

鏡像下載使用這個項目的方法:https://github.com/DaoCloud/public-image-mirror,在鏡像前面加:m.daocloud.io

prometheus-k8s-0 pod報權(quán)限不足問題

ts=2023-08-21T03:14:34.582Z caller=klog.go:116 level=error component=k8s_client_runtime func=ErrorDepth msg="pkg/mod/k8s.io/client-go@v0.27.3/tools/cache/reflector.go:231: Failed to watch *v1.Pod: failed to list *v1.Pod: pods is forbidden: User \"system:serviceaccount:monitoring:prometheus-k8s\" cannot list resource \"pods\" in API group \"\" at the cluster scope"

處理:
修改prometheus-clusterRole.yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/component: prometheus
    app.kubernetes.io/name: prometheus
    app.kubernetes.io/part-of: kube-prometheus
    app.kubernetes.io/version: 2.26.0
  name: prometheus-k8s
rules:
- apiGroups:
  - ""
  resources:
  - nodes/metrics
  - services
  - endpoints
  - pods
  verbs:
  - get
  - list
  - watch
- nonResourceURLs:
  - /metrics
  verbs:
  - get

跨節(jié)點pind不通monitoring下的pod ip,prometheus target異常問題處理,

刪除kube-prometheus/manifests下的netowrkprolic
alertmanager-networkPolicy.yaml
blackboxExporter-networkPolicy.yaml
grafana-networkPolicy.yaml
kubeStateMetrics-networkPolicy.yaml
nodeExporter-networkPolicy.yaml
prometheusAdapter-networkPolicy.yaml
prometheus-networkPolicy.yaml
prometheusOperator-networkPolicy.yaml

使用ServiceMonitor添加監(jiān)控:
以ingress-nginx為例
修改ingress-nginx.yaml的service

apiVersion: v1
kind: Service
metadata:
  annotations:
    prometheus.io/port: '10254' #新增內(nèi)容
    prometheus.io/scrape: 'true' #新增內(nèi)容
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
    app.kubernetes.io/version: 1.8.1
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  externalTrafficPolicy: Local
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - appProtocol: http
    name: http
    port: 80
    protocol: TCP
    targetPort: http
  - appProtocol: https
    name: https
    port: 443
    protocol: TCP
    targetPort: https
  - appProtocol: http  #新增內(nèi)容
    name: prometheus  #新增內(nèi)容
    port: 10254  #新增內(nèi)容
    protocol: TCP  #新增內(nèi)容
    targetPort: 10254  #新增內(nèi)容
  selector:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/name: ingress-nginx
  type: LoadBalancer
  

# ingress-nginx-monitor.yaml

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: ingress-nginx  # ServiceMonitor名稱
  namespace: monitoring # ServiceMonitor所在名稱空間
spec:
  endpoints:  # prometheus所采集Metrics地址配置,endpoints為一個數(shù)組,可以創(chuàng)建多個,但是每個endpoints包含三個字段interval、path、port
    - interval: 15s # prometheus采集數(shù)據(jù)的周期,單位為秒
      path: /metrics # prometheus采集數(shù)據(jù)的路徑
      port: prometheus # prometheus采集數(shù)據(jù)的端口,這里為port的name,主要是通過spec.selector中選擇對應(yīng)的svc,在選中的svc中匹配該端口
  namespaceSelector: # 需要發(fā)現(xiàn)svc的范圍
    any: true     # 有且僅有一個值true,當(dāng)該字段被設(shè)置時,表示監(jiān)聽所有符合selector所選擇的svc
  selector:
    matchLabels:  # 選擇svc的標(biāo)簽
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.8.1
      
kubectl apply -f ingress-nginx-monitor.yaml
確認(rèn)ingress-nginx servicemonitors已添加
kubectl -n monitoring get servicemonitors.monitoring.coreos.com 
NAME                      AGE
alertmanager-main         70m
blackbox-exporter         70m
coredns                   70m
grafana                   70m
ingress-nginx             24m
kube-apiserver            70m
kube-controller-manager   70m
kube-scheduler            70m
kube-state-metrics        70m
kubelet                   70m
node-exporter             70m
prometheus-adapter        70m
prometheus-k8s            70m
prometheus-operator       70m


k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,Kubernetes,kubernetes,容器,云原生
監(jiān)控外部ETCD:
etcd配置文件添加:ETCD_LISTEN_METRICS_URLS=“http://0.0.0.0:2381”
etcd-job.yaml

- job_name: "etcd-server"
  scrape_interval: 30s
  scrape_timeout: 10s
  static_configs:
    - targets: ["172.16.0.157:2381"]
      labels:
        instance: etcdserver

創(chuàng)建secret

kubectl create secret generic etcd-secret --from-file=etcd-job.yaml -n monitoring

kube-prometheus/manifests/prometheus-prometheus.yaml 末尾添加配置:

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  labels:
    app.kubernetes.io/component: prometheus
    app.kubernetes.io/instance: k8s
    app.kubernetes.io/name: prometheus
    app.kubernetes.io/part-of: kube-prometheus
    app.kubernetes.io/version: 2.46.0
  name: k8s
  namespace: monitoring
spec:
  alerting:
    alertmanagers:
    - apiVersion: v2
      name: alertmanager-main
      namespace: monitoring
      port: web
  enableFeatures: []
  externalLabels: {}
  image: quay.io/prometheus/prometheus:v2.46.0
  nodeSelector:
    kubernetes.io/os: linux
  podMetadata:
    labels:
      app.kubernetes.io/component: prometheus
      app.kubernetes.io/instance: k8s
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: kube-prometheus
      app.kubernetes.io/version: 2.46.0
  podMonitorNamespaceSelector: {}
  podMonitorSelector: {}
  probeNamespaceSelector: {}
  probeSelector: {}
  replicas: 2
  resources:
    requests:
      memory: 400Mi
  ruleNamespaceSelector: {}
  ruleSelector: {}
  securityContext:
    fsGroup: 2000
    runAsNonRoot: true
    runAsUser: 1000
  serviceAccountName: prometheus-k8s
  serviceMonitorNamespaceSelector: {}
  serviceMonitorSelector: {}
  version: 2.46.0
  additionalScrapeConfigs:  #新增
    name: etcd-secret  #新增
    key: etcd-job.yaml  #新增
kubectl apply -f kube-prometheus/manifests/prometheus-prometheus.yaml

grafana導(dǎo)入 3070模板
k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,Kubernetes,kubernetes,容器,云原生
http存活檢測

kind: Probe
apiVersion: monitoring.coreos.com/v1
metadata:
  name: example-com-website
  namespace: monitoring
spec:
  interval: 60s
  module: http_2xx
  prober:
    url: blackbox-exporter.monitoring.svc.cluster.local:19115
  targets:
    staticConfig:
      static:
      - https://www.baidu.com

k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,Kubernetes,kubernetes,容器,云原生
k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,Kubernetes,kubernetes,容器,云原生
添加proxy監(jiān)控,默認(rèn)為http

---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app.kubernetes.io/name: kube-proxy
    app.kubernetes.io/part-of: kube-prometheus
  name: kube-proxy
  namespace: monitoring
spec:
  endpoints:
  - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    interval: 30s
    port: http-metrics
    scheme: http
    tlsConfig:
      insecureSkipVerify: true
  jobLabel: app.kubernetes.io/name
  namespaceSelector:
    matchNames:
    - kube-system
  selector:
    matchLabels:
      app.kubernetes.io/name: kube-proxy
---
apiVersion: v1
kind: Endpoints
metadata:
  name: kube-proxy
  namespace: kube-system
  labels:
    app.kubernetes.io/name: kube-proxy
subsets:
- addresses:
  - ip: 172.16.0.157
    targetRef:
      kind: Node
      name: master1
  - ip: 172.16.0.124
    targetRef:
      kind: Node
      name: node1
  - ip: 172.16.0.46
    targetRef:
      kind: Node
      name: node2
  ports:
  - name: http-metrics
    port: 10249
    protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: kube-proxy
  namespace: kube-system
  labels:
    app.kubernetes.io/name: kube-proxy
spec:
  type: ClusterIP 
  clusterIP: None
  ports:
  - name: http-metrics
    port: 10249
    targetPort: 10249
    protocol: TCP

k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,Kubernetes,kubernetes,容器,云原生文章來源地址http://www.zghlxwxcb.cn/news/detail-658236.html

到了這里,關(guān)于k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于Ubuntu22.04部署生產(chǎn)級K8S集群v1.27(規(guī)劃和核心組件部署篇)

    基于Ubuntu22.04部署生產(chǎn)級K8S集群v1.27(規(guī)劃和核心組件部署篇)

    本文檔主要根據(jù)k8s官網(wǎng)文檔和其插件的官網(wǎng)文檔,參考部分他人優(yōu)秀經(jīng)驗,在實際操作中逐漸完成,比較詳盡,適合在境內(nèi)學(xué)習(xí)者和實踐者參考。 實操環(huán)境基于VMware Workstation 17 pro,采用ubuntu22.04操作系統(tǒng)(有時也提到rhel系列系統(tǒng)),采用kubeadm1.27.4(部分地方提到了1.28)部署

    2024年02月02日
    瀏覽(25)
  • Centos7安裝部署k8s(kubernetes)最新v1.27.1版本超詳細(xì)安裝教程

    從零開始的k8s安裝 硬件配置要求 cpu = 2核 硬盤 = 20G 內(nèi)存 = 2G 節(jié)點數(shù)量建議為奇數(shù)(3, 5, 7, 9等)(1臺好像也能搭,沒試過) 以下命令出除特殊要求外,其余都建議在master主機執(zhí)行 本教程配置如下 主機名 IP 配置 master 192.168.42.150 2核+2G+20G node1 192.168.42.151 2核+2G+20G node2 192.168.

    2024年02月11日
    瀏覽(59)
  • K8S-容器運行時(v1.27)

    說明: ?自 1.24 版起,Dockershim 已從 Kubernetes 項目中移除。閱讀?Dockershim 移除的常見問題了解更多詳情。 你需要在集群內(nèi)每個節(jié)點上安裝一個?容器運行時?以使 Pod 可以運行在上面。本文概述了所涉及的內(nèi)容并描述了與節(jié)點設(shè)置相關(guān)的任務(wù)。 Kubernetes 1.27 要求你使用符合容器

    2024年01月21日
    瀏覽(19)
  • 云原生周刊:K8s 在 v1.27 中移除的特性和主要變更

    K8s 在 v1.27 中移除的特性和主要變更 隨著 Kubernetes 發(fā)展和成熟,為了此項目的整體健康,某些特性可能會被棄用、移除或替換為優(yōu)化過的特性?;谀壳霸?v1.27 發(fā)布流程中獲得的信息,本文將列舉并描述一些計劃在 Kubernetes v1.27 發(fā)布中的變更, 發(fā)布工作目前仍在進行中,可

    2024年02月01日
    瀏覽(27)
  • 【k8s】:部署、使用 metrics-server

    【k8s】:部署、使用 metrics-server

    ??The Begin??點點關(guān)注,收藏不迷路?? 基于Kubernetes 集群,并已經(jīng)安裝并配置好 kubectl 工具。 Metrics Server 可以幫助我們監(jiān)控集群中節(jié)點和容器的資源使用情況。 在本篇 CSDN 博客中,我將詳細(xì)介紹如何部署 Metrics Server 到 Kubernetes 集群中。 工作流程說明: 1、用戶執(zhí)行 kubectl

    2024年04月16日
    瀏覽(21)
  • 國內(nèi)環(huán)境下ubuntu22.04+kubeadm搭建v1.27.2多節(jié)點k8s集群

    按說,使用kubeadm搭建k8s集群最權(quán)威的方法、步驟,應(yīng)該是直接參考kubeadm官網(wǎng),里邊描述了從OS基礎(chǔ)配置到containerd,再到kubeadm安裝、initjoin的全過程。 只是,kubernetes的官網(wǎng)對整個過程的描述并不是一種step by step的方式,而是把相關(guān)的步驟分散于各個富含上下文知識的頁面中,

    2024年02月14日
    瀏覽(29)
  • 二進制安裝Kubernetes(k8s) v1.27.3 IPv4/IPv6雙棧 可脫離互聯(lián)網(wǎng)

    https://github.com/cby-chen/Kubernetes 開源不易,幫忙點個star,謝謝了 kubernetes(k8s)二進制高可用安裝部署,支持IPv4+IPv6雙棧。 我使用IPV6的目的是在公網(wǎng)進行訪問,所以我配置了IPV6靜態(tài)地址。 若您沒有IPV6環(huán)境,或者不想使用IPv6,不對主機進行配置IPv6地址即可。 不配置IPV6,不影

    2024年02月16日
    瀏覽(27)
  • 二進制安裝Kubernetes(k8s) v1.27.1 IPv4/IPv6雙棧 可脫離互聯(lián)網(wǎng)

    https://github.com/cby-chen/Kubernetes 開源不易,幫忙點個star,謝謝了 kubernetes(k8s)二進制高可用安裝部署,支持IPv4+IPv6雙棧。 我使用IPV6的目的是在公網(wǎng)進行訪問,所以我配置了IPV6靜態(tài)地址。 若您沒有IPV6環(huán)境,或者不想使用IPv6,不對主機進行配置IPv6地址即可。 不配置IPV6,不影

    2024年02月06日
    瀏覽(36)
  • kubeadmin部署k8s1.27.4

    kubeadmin部署k8s1.27.4

    IP 主機名 資源配置 系統(tǒng)版本 192.168.117.170 k8s-master 2c2g200g Centos7.9 192.168.117.171 k8s-node1 2c2g200g Centos7.9 192.168.117.172 k8s-node2 2c2g200g Centos7.9 三臺主機都要做 配置主機名 master node1 node2 master節(jié)點產(chǎn)成ssh密鑰拷貝給node節(jié)點實現(xiàn)免密登錄 所有節(jié)點 所有節(jié)點 所有節(jié)點 所有節(jié)點 配置docke

    2024年02月08日
    瀏覽(45)
  • kubernetes(k8s) v1.28.2 安裝與部署

    版本:kubernetes(k8s) v1.28.2 并準(zhǔn)備主機名映射。 設(shè)置好靜態(tài)IP。 在Ubuntu的/etc/hosts文件中,填入如下內(nèi)容。也可以在Windows的C:WindowsSystem32driversetchosts文件中填寫相同內(nèi)容。 關(guān)閉防火墻和SELinux。 關(guān)閉防火墻命令如下。 可使用命令 systemctl status firewalld 查看防火墻狀態(tài)。 關(guān)閉

    2024年02月03日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包