2016-05-28 8 views
3

私はGKE上にKubernetesクラスタを持っています。私はKubernetesが同じラベルでポッドを広げることを知っているが、これは私にとっては起こりえない。ここに私のノードの説明があります。ここでKubernetesポッドは異なるノードにまたがって広がっていません

Name:     gke-pubnation-cluster-prod-high-cpu-14a766ad-node-dpob 
Conditions: 
    Type   Status LastHeartbeatTime      LastTransitionTime      Reason       Message 
    ----   ------ -----------------      ------------------      ------       ------- 
    OutOfDisk  False Fri, 27 May 2016 21:11:17 -0400   Thu, 26 May 2016 22:16:27 -0400   KubeletHasSufficientDisk  kubelet has sufficient disk space available 
    Ready   True Fri, 27 May 2016 21:11:17 -0400   Thu, 26 May 2016 22:17:02 -0400   KubeletReady     kubelet is posting ready status. WARNING: CPU hardcapping unsupported 
Capacity: 
cpu:   2 
memory:  1848660Ki 
pods:   110 
System Info: 
Machine ID: 
Kernel Version:    3.16.0-4-amd64 
OS Image:      Debian GNU/Linux 7 (wheezy) 
Container Runtime Version:  docker://1.9.1 
Kubelet Version:    v1.2.4 
Kube-Proxy Version:   v1.2.4 
Non-terminated Pods:   (2 in total) 
    Namespace      Name                     CPU Requests CPU Limits Memory Requests Memory Limits 
    ---------      ----                     ------------ ---------- --------------- ------------- 
    kube-system     fluentd-cloud-logging-gke-pubnation-cluster-prod-high-cpu-14a766ad-node-dpob   80m (4%)  0 (0%)    200Mi (11%)  200Mi (11%) 
    kube-system     kube-proxy-gke-pubnation-cluster-prod-high-cpu-14a766ad-node-dpob      20m (1%)  0 (0%)    0 (0%)   0 (0%) 
Allocated resources: 
    (Total limits may be over 100%, i.e., overcommitted. More info: http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md) 
    CPU Requests CPU Limits  Memory Requests Memory Limits 
    ------------ ----------  --------------- ------------- 
    100m (5%)  0 (0%)   200Mi (11%)  200Mi (11%) 
No events. 

Name:     gke-pubnation-cluster-prod-high-cpu-14a766ad-node-qhw2 
Conditions: 
    Type   Status LastHeartbeatTime      LastTransitionTime      Reason       Message 
    ----   ------ -----------------      ------------------      ------       ------- 
    OutOfDisk  False Fri, 27 May 2016 21:11:17 -0400   Fri, 27 May 2016 18:16:38 -0400   KubeletHasSufficientDisk  kubelet has sufficient disk space available 
    Ready   True Fri, 27 May 2016 21:11:17 -0400   Fri, 27 May 2016 18:17:12 -0400   KubeletReady     kubelet is posting ready status. WARNING: CPU hardcapping unsupported 
Capacity: 
pods:   110 
cpu:   2 
memory:  1848660Ki 
System Info: 
Machine ID: 
Kernel Version:    3.16.0-4-amd64 
OS Image:      Debian GNU/Linux 7 (wheezy) 
Container Runtime Version:  docker://1.9.1 
Kubelet Version:    v1.2.4 
Kube-Proxy Version:   v1.2.4 
Non-terminated Pods:   (10 in total) 
    Namespace      Name                     CPU Requests CPU Limits Memory Requests Memory Limits 
    ---------      ----                     ------------ ---------- --------------- ------------- 
    default      pn-minions-deployment-prod-3923308490-axucq            100m (5%)  0 (0%)    0 (0%)   0 (0%) 
    default      pn-minions-deployment-prod-3923308490-mvn54            100m (5%)  0 (0%)    0 (0%)   0 (0%) 
    default      pn-minions-deployment-staging-2522417973-8cq5p           100m (5%)  0 (0%)    0 (0%)   0 (0%) 
    default      pn-minions-deployment-staging-2522417973-9yatt           100m (5%)  0 (0%)    0 (0%)   0 (0%) 
    kube-system     fluentd-cloud-logging-gke-pubnation-cluster-prod-high-cpu-14a766ad-node-qhw2   80m (4%)  0 (0%)    200Mi (11%)  200Mi (11%) 
    kube-system     heapster-v1.0.2-1246684275-a8eab              150m (7%)  150m (7%) 308Mi (17%)  308Mi (17%) 
    kube-system     kube-dns-v11-uzl1h                  310m (15%)  310m (15%) 170Mi (9%)  920Mi (50%) 
    kube-system     kube-proxy-gke-pubnation-cluster-prod-high-cpu-14a766ad-node-qhw2      20m (1%)  0 (0%)    0 (0%)   0 (0%) 
    kube-system     kubernetes-dashboard-v1.0.1-3co2b              100m (5%)  100m (5%) 50Mi (2%)  50Mi (2%) 
    kube-system     l7-lb-controller-v0.6.0-o5ojv               110m (5%)  110m (5%) 70Mi (3%)  120Mi (6%) 
Allocated resources: 
    (Total limits may be over 100%, i.e., overcommitted. More info: http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md) 
    CPU Requests CPU Limits  Memory Requests Memory Limits 
    ------------ ----------  --------------- ------------- 
    1170m (58%) 670m (33%)  798Mi (44%)  1598Mi (88%) 
No events. 

は、展開のための説明です:

Name:     pn-minions-deployment-prod 
Namespace:    default 
Labels:     app=pn-minions,environment=production 
Selector:    app=pn-minions,environment=production 
Replicas:    2 updated | 2 total | 2 available | 0 unavailable 
OldReplicaSets:   <none> 
NewReplicaSet:   pn-minions-deployment-prod-3923308490 (2/2 replicas created) 

Name:     pn-minions-deployment-staging 
Namespace:    default 
Labels:     app=pn-minions,environment=staging 
Selector:    app=pn-minions,environment=staging 
Replicas:    2 updated | 2 total | 2 available | 0 unavailable 
OldReplicaSets:   <none> 
NewReplicaSet:   pn-minions-deployment-staging-2522417973 (2/2 replicas created) 

あなたが見ることができるように、すべての4つのポッドが同じノード上にあります。私はこの仕事をするために何か別のものをする必要がありますか?

答えて

1

デフォルトでは、ポッドは無制限のCPUとメモリの制限で実行されます。つまり、システム内のどのポッドも、ポッドを実行するノード上のCPUとメモリを消費することができます。 http://kubernetes.io/docs/admin/limitrange/

CPU制限を指定しないと、必要なCPUリソースの量がわからなくなり、1つのノードにポッドを作成しようとします。ここ

ここDeployment

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: jenkins 
spec: 
    replicas: 4 
    template: 
    metadata: 
     labels: 
     app: jenkins 
    spec: 
     containers: 
     - name: jenkins 
      image: quay.io/naveensrinivasan/jenkins:0.4 
      ports: 
      - containerPort: 8080 
      resources: 
      limits: 
       cpu: "400m" 
#   volumeMounts: 
#   - mountPath: /var/jenkins_home 
#    name: jenkins-volume 
#  volumes: 
#   - name: jenkins-volume 
#   awsElasticBlockStore: 
#   volumeID: vol-29c4b99f 
#   fsType: ext4 
     imagePullSecrets: 
     - name: registrypullsecret 

の一例であるkubectl describe po | grep Nodeの出力は、展開を作成した後です。

~ aws_kubernetes [email protected]  ~/revature/devops/jenkins   jenkins ● k describe po | grep Node 
Node:  ip-172-20-0-26.us-west-2.compute.internal/172.20.0.26 
Node:  ip-172-20-0-29.us-west-2.compute.internal/172.20.0.29 
Node:  ip-172-20-0-27.us-west-2.compute.internal/172.20.0.27 
Node:  ip-172-20-0-29.us-west-2.compute.internal/172.20.0.29 

これは4つの異なるノードで作成されました。これは、クラスタのCPUリミットに基づいています。 replicasを増減して、異なるノードに配備されていることを確認できます。

これは、GKEまたはAWS固有ではありません。

+0

"これはリソース要求のジョブである必要がありますか?" http://kubernetes.io/docs/user-guide/compute-resources/ – Daiwei

+1

はいリソース要求のジョブです – Naveen

+0

私はクラスタにデフォルトの制限範囲を持っています。あなたは私の質問では、ポッドがデフォルトのCPU要求から継承していることがわかります。これで十分ではないという意味ですか? – Daiwei

関連する問題