我们使用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资源中的漂移不止这一次。
我们想出了一种以可伸缩的方式实现这一点的方法。请注意,此解决方案需要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