小编Kse*_*ova的帖子

如何为类型配置自动缩放:对象

我配置了自定义指标。

当我跑步时:

kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/namespaces/my-namespace/deployments.extensions/sample-app/queue_length" | jq

我有:

...
  "items": [
    {
      "describedObject": {
        "kind": "Deployment",
        "namespace": "my-namespace",
        "name": "sample-app",
        "apiVersion": "extensions/v1beta1"
      },
      "metricName": "queue_length",
      "timestamp": "2018-10-09T18:14:15Z",
      "value": "30"
    }
  ]
...
Run Code Online (Sandbox Code Playgroud)

因此,我想使用此指标扩展部署:

kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta1
metadata:
  name: sample-app
  namespace: my-namespace
spec:
  scaleTargetRef:
    apiVersion: extensions/v1beta1
    kind: Deployment
    name: sample-app
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Object
    object:
      metricName: queue_length
      target:
        apiVersion: extensions/v1beta1
        kind: Deployment
        name: sample-app
      targetValue: 20
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,也许我必须指定- type: Object一些不同的地方。

我尝试更改kind为Deployments,Deployments.extension,Deployments.extensions等,但是我不断收到错误消息FailedGetScale …

autoscaling kubernetes

5
推荐指数
1
解决办法
230
查看次数

如何使用 client-go 列出具有特定标签的所有 kubernetes 对象

我想执行相当于

kubectl get all -l app=myapp -n mynamespace

或者

kubectl label all -l version=1.2.0,app=myapp track=stable --overwrite

使用客户端去

我查看了动态包,但它似乎需要GroupVersionResource,这对于 Service 对象和 Deployment 对象来说是不同的。此外,当我通过schema.GroupVersionResource{Group: "apps", Version: "v1"}它时没有找到任何东西,当我通过schema.GroupVersionResource{Version: "v1"}它时它只找到命名空间对象并且也不查找标签,尽管我提供了标签选项:

resource := schema.GroupVersionResource{Version: "v1"}
listOptions := metav1.ListOptions{LabelSelector: fmt.Sprintf("app=%s", AppName), FieldSelector: ""}
res, listErr := dynamicClient.Resource(resource).Namespace("myapps").List(listOptions)
Run Code Online (Sandbox Code Playgroud)

我还查看了运行时包,但没有发现任何有用的东西。看了一下是怎么kubectl实现的,有点想不通,抽象层次太多了。

go kubernetes kubectl client-go

5
推荐指数
1
解决办法
4471
查看次数

标签 统计

kubernetes ×2

autoscaling ×1

client-go ×1

go ×1

kubectl ×1