• k8s Metrics Server 获取资源指标与 hpa 部署


    使用 helm 部署 Metrics Server
    
    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm install bitnami/metrics-server   会有报错,执行以下命令
    helm upgrade loopy-saola bitnami/metrics-server     --set apiService.create=true
    
    $  kubectl get pod   查看节点
    loopy-saola-metrics-server-58796b4bc7-4mv4t      1/1     Running   0          16m
    
    $ kubectl top nodes  不能获取资源指标,需要修改 deployment
    
    $  kubectl get   deployment   loopy-saola-metrics-server       -o yaml
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      annotations:
        deployment.kubernetes.io/revision: "3"
      creationTimestamp: "2019-12-06T10:18:00Z"
      generation: 3
      labels:
        app.kubernetes.io/instance: loopy-saola
        app.kubernetes.io/managed-by: Tiller
        app.kubernetes.io/name: metrics-server
        helm.sh/chart: metrics-server-4.1.0
      name: loopy-saola-metrics-server
      namespace: default
      resourceVersion: "77963814"
      selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/loopy-saola-metrics-server
      uid: ae24b7b2-1811-11ea-a9a8-b8ca3a614e64
    spec:
      progressDeadlineSeconds: 600
      replicas: 1
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app.kubernetes.io/instance: loopy-saola
          app.kubernetes.io/name: metrics-server
      strategy:
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 25%
        type: RollingUpdate
      template:
        metadata:
          creationTimestamp: null
          labels:
            app.kubernetes.io/instance: loopy-saola
            app.kubernetes.io/managed-by: Tiller
            app.kubernetes.io/name: metrics-server
            helm.sh/chart: metrics-server-4.1.0
        spec:
          containers:
          - command:
            - metrics-server
            - --secure-port=8443
            - --v=8                                         以下三行为修改的内容
            - --kubelet-insecure-tls
            - --kubelet-preferred-address-types=InternalIP
            image: docker.io/bitnami/metrics-server:0.3.6-debian-9-r27
            imagePullPolicy: IfNotPresent
            name: metrics-server
            ports:
            - containerPort: 8443
              hostPort: 8443                                   增加 host port
              name: https
              protocol: TCP
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: loopy-saola-metrics-server
          serviceAccountName: loopy-saola-metrics-server
          terminationGracePeriodSeconds: 30
    status:
      availableReplicas: 1
      conditions:
      - lastTransitionTime: "2019-12-06T10:17:05Z"
        lastUpdateTime: "2019-12-06T10:17:05Z"
        message: Deployment has minimum availability.
        reason: MinimumReplicasAvailable
        status: "True"
        type: Available
      - lastTransitionTime: "2019-12-06T10:16:54Z"
        lastUpdateTime: "2019-12-06T10:40:41Z"
        message: ReplicaSet "loopy-saola-metrics-server-58796b4bc7" has successfully progressed.
        reason: NewReplicaSetAvailable
        status: "True"
        type: Progressing
      observedGeneration: 3
      readyReplicas: 1
      replicas: 1
      updatedReplicas: 1
    
    
    $ kubectl top node
    NAME                          CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
    k8s-master01.gdfsxxds.rjyun   423m         1%     28532Mi         44%       
    k8s-master02.gdfsxxds.rjyun   334m         1%     5932Mi          9%        
    k8s-master03.gdfsxxds.rjyun   361m         1%     4107Mi          6%        
    k8s-node01                    242m         1%     10696Mi         8%        
    k8s-node02                    560m         1%     12201Mi         18%       
    k8s-node03                    1811m        5%     28904Mi         45%       
    
    $ kubectl top pod
    NAME                                             CPU(cores)   MEMORY(bytes)   
    a9vg-project-v2-deployment-7bc4968b44-mzp5n      2m           273Mi           
    a9vg-static-deployment-7bb7576cd8-hcmgm          1m           26Mi            
    cm-acme-http-solver-x8tkd                        1m           7Mi     
    成功获取资源指标数据
    
    部署 hpa
    $ kubectl get pod  |grep ssr             部署前查看是一个pod 
    tgbus-ssr-deployment-85df9c9c59-2s4lw            1/1     Running   0          23h
    $ cat hpa.yaml 
    apiVersion: autoscaling/v1
    kind: HorizontalPodAutoscaler
    metadata:
      name: tgbus-ssr-deployment
      namespace: default
    spec:
      maxReplicas: 15
      minReplicas: 2
      scaleTargetRef:
        apiVersion: extensions/v1beta1
        kind: Deployment
        name: tgbus-ssr-deployment
      targetCPUUtilizationPercentage: 50
    
    
    $ kubectl create -f hpa.yaml 
    $ kubectl get pod  |grep ssr
    tgbus-ssr-deployment-85df9c9c59-2s4lw            1/1     Running   0          23h
    tgbus-ssr-deployment-85df9c9c59-k75xh            1/1     Running   0          42s
    发现已创建出新的pod    后续会根据负载情况动态增加减少pod 数量
    

      

  • 相关阅读:
    搭建Elasticsearch 5.4分布式集群
    Elasticsearch中Head插件的使用
    Elasticsearch6.0及其head插件安装
    elasticsearch 6.2.3安装ik分词
    linux安装elasticsearch
    [Elasticsearch] 多字段搜索 (三)
    [Elasticsearch] 全文搜索 (一)
    [Elasticsearch] 多字段搜索 (二)
    elasticsearch this is not a http port
    基于visual Studio2013解决C语言竞赛题之0704字符串长度
  • 原文地址:https://www.cnblogs.com/lixinliang/p/12217323.html
Copyright © 2020-2023  润新知