当前位置: 首页 > 知识库问答 >
问题:

从k8s和舵机漂移中恢复

越宣
2023-03-14

我们使用helm来管理我们在一个k8s集群中的所有资源。最近我们遇到了一个事件,一些k8s资源在helm之外被修改了(关于根本原因的详细信息见下文)。

然而,最终的结果是,我们的集群中有一些k8s资源与版本的helm图表中指定的不匹配。

示例:

helm get myservice-release
---
# Source: myservice/charts/default-deployment/templates/default_deployment.yaml
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: myservice-autoscaler
  labels:     
    app: myservice
spec:
  minReplicas: 2
  maxReplicas: 10
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: myservice-deployment
  metrics:
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 85
kubectl get hpa myservice-autoscaler -o yaml

规格{max,min}replicas与图表不匹配:

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  annotations:
    autoscaling.alpha.kubernetes.io/conditions: '{REDACTED}'
    autoscaling.alpha.kubernetes.io/current-metrics: '{REDACTED}'
  creationTimestamp: "{REDACTED}"
  labels:
    app: myservice
  name: myservice-autoscaler
  namespace: default
  resourceVersion: "174526833"
  selfLink: /apis/autoscaling/v1/namespaces/default/horizontalpodautoscalers/myservice-autoscaler
  uid: {REDACTED}
spec:
  maxReplicas: 1
  minReplicas: 1
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: myservice-deployment
  targetCPUUtilizationPercentage: 85
status:
  currentCPUUtilizationPercentage: 9
  currentReplicas: 1
  desiredReplicas: 1
  lastScaleTime: "{REACTED}"

我怀疑k8s资源中的漂移不止这一次。

  • 如何验证哪些资源已漂移?
  • 我如何通知helm,以便下一个部署在应用发布差异时将其考虑进去?

共有1个答案

谷泳
2023-03-14

我们想出了一种以可伸缩的方式实现这一点的方法。请注意,此解决方案需要Kubernetes 1.13来支持Kubectl diff

总体思路是获取helm状态,并使用kubectl应用它,以再次同步两者。这在群集上可能不安全,请使用kubectl diff验证更改。

>

  • 从helm获取状态:helm get manifest{service}-release>{service}-release.yaml

  •  类似资料:
    • 让舵机摆在指定角度上。 用法 Your browser does not support the video tag. 案例:拔萝卜 说明:当萝卜没有被拨出来的时候,是静止不动的,但是,当萝卜被拔出时,会伸出两个”不”字左右晃动,仿佛在说“ 不要拔我,不要拔我”。 所需模块:电源、陀螺仪、双舵机驱动、舵机组件包"

    • 机械规格 尺寸:40×20×41mm 重量:75g 齿轮类型:5 金属齿轮 限制角:210°±5° 轴承:2*轴承 齿轮:Φ8mm35T 齿轮类型:塑料, 聚甲醛 外壳:铝合金加塑料 连接电线:230mm±5mm 电机:空心杯电机 水溅阻力:No 电子规格 工作电压:6.0V 闲置电流:8mA 空载速度:0.19sec/60° 运转电流:450mA 峰值扭矩:16.5kg.cm 堵转电流:2500

    • 光环板可以连接 mbuild 的 舵机驱动 模块进行编程。 1. 舵机驱动(1)设置角度为(90)° 将指定的舵机驱动设置为指定旋转角度。 示例 按下光环板的按钮,将舵机驱动1的旋转角度设置为90°。 2. 舵机驱动(1)的设置角度增加(20)° 将指定的舵机驱动设置的旋转角度增加指定值。 示例 按下光环板的按钮,将舵机驱动1的旋转角度增加20°。 3. 舵机驱动(1)回复到零点 将指定的舵机驱动

    • 舵机驱动能够驱动各类180°舵机转动到指定的角度,其引脚从左到右依次为数字输出、VCC、GND。 参数 尺寸:24×24mm 工作电流:小于1A

    • 舵机驱动能够驱动各类180°舵机转动到指定的角度,其引脚从左到右依次为数字输出、VCC、GND。 参数 尺寸:24×24mm 工作电流:小于1A