0

pod 的定义取自https://github.com/mesosphere/kubernetes-mesos/blob/master/examples/pod-nginx.json

{  
   "kind":"Pod",
   "apiVersion":"v1beta1",
   "id":"nginx-id-01",
   "desiredState":{  
      "manifest":{  
         "version":"v1beta1",
         "containers":[  
            {  
               "name":"nginx-01",
               "image":"dockerfile/nginx",
               "ports":[  
                  {  
                     "containerPort":80,
                     "hostPort":31000
                  }
               ],
               "livenessProbe":{  
                  "enabled":true,
                  "type":"http",
                  "initialDelaySeconds":30,
                  "httpGet":{  
                     "path":"/index.html",
                     "port":"8081"
                  }
               }
            }
         ]
      }
   },
   "labels":{  
      "name":"foo",
      "cluster":"gce"
   }
}

我似乎无法找到您如何指定资源。

4

4 回答 4

1

您可以在https://github.com/GoogleCloudPlatform/kubernetes/blob/master/examples/guestbook/frontend-controller.json#L16查看指定的 Kubernetes 资源示例

但是,根据https://github.com/GoogleCloudPlatform/kubernetes/issues/168,Kubernetes(因此 Kubernetes-Mesos)并没有真正对这些资源做任何事情

一旦这在 Kubernetes 中实现,Kubernetes-Mesos 框架也将支持它:https ://github.com/mesosphere/kubernetes-mesos/issues/76

于 2014-11-19T00:50:46.203 回答
1

您可以在容器规范中输入内存和 CPU 的值:https ://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/v1beta1/types.go#L257

我们的调度程序还没有对它们做太多事情,但它也不再完全忽略它们。

于 2015-01-13T00:56:09.010 回答
0

您可以在容器规范中的部署文件本身中为任何容器指定 cpu 或资源。

纳米任务2部署1.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: task2deploy1
spec:
  replicas: 1
  template:
    metadata:
     labels:
       app: task2deploy1
     spec:
  containers:
  - name: task2deploy1
    image: nginx
    ports:
    - containerPort: 80
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"

这意味着可以将 64Mi 内存和 250m cpu 的请求发送到名为 task2deploy1 的容器。

该容器虽然有 128Mi 内存和 500m cpu 的限制。

 kubectl create –f task2deploy1.yaml –namespace=Shifali

在此部署的帮助下创建 pod 后,pod 将拥有部署文件中提到的这些资源。

 kubectl describe pod task2deploy1-765cfc9b89-xrgsr --namespace=Shifali

Name:           task2deploy1-765cfc9b89-xrgsr

Limits:

  cpu:     500m
  memory:  128Mi

Requests:
  cpu:        250m
  memory:     64Mi

与此一起将显示更多信息,但需要查看的是资源。

于 2019-02-01T08:08:35.633 回答
0

正式地,你可以在你的 pod 中的每个容器定义中添加一个资源字段,你可以添加请求和限制:

resources:
  requests:
    memory: "qMi"
    cpu: "pm"
  limits:
    memory: "yMi"
    cpu: "x"

然后将这些值的总和与 pod 中的其他容器相加,以计算每个 pod 的总请求和限制。

请看一下 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

于 2018-11-05T16:52:58.323 回答