2017-01-16 21 views
1

在問這個問題之前,我經歷了daemonset doesn't create any podsDaemonSet doesn't create any pods: v1.1.2。這是我的問題。fluentd-es-v1.22 DaemonSet不會創建任何容器

Kubernetes羣集上CoreOS

運行
NAME=CoreOS 
ID=coreos 
VERSION=1185.3.0 
VERSION_ID=1185.3.0 
BUILD_ID=2016-11-01-0605 
PRETTY_NAME="CoreOS 1185.3.0 (MoreOS)" 
ANSI_COLOR="1;32" 
HOME_URL="https://coreos.com/" 
BUG_REPORT_URL="https://github.com/coreos/bugs/issues" 

我指的是https://coreos.com/kubernetes/docs/latest/getting-started.html導向和在3 ETCD,2個主人和42個節點。所有在羣集中運行的應用程序都沒有問題

我得到了使用fluentd-elasticsearch設置日誌記錄的要求,並下載了部署fluentd deamonset的https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch中的yaml文件。

kubectl create -f fluentd-es-ds.yaml 

我可以看到它已經創建,但沒有創建pod。

kubectl --namespace=kube-system get ds -o wide 
NAME    DESIRED CURRENT NODE-SELECTOR        AGE  CONTAINER(S) IMAGE(S)            SELECTOR 
fluentd-es-v1.22 0   0   alpha.kubernetes.io/fluentd-ds-ready=true 4h  fluentd-es  gcr.io/google_containers/fluentd-elasticsearch:1.22 k8s-app=fluentd-es,kubernetes.io/cluster-service=true,version=v1.22 

kubectl --namespace=kube-system describe ds fluentd-es-v1.22 
Name:   fluentd-es-v1.22 
Image(s):  gcr.io/google_containers/fluentd-elasticsearch:1.22 
Selector:  k8s-app=fluentd-es,kubernetes.io/cluster-service=true,version=v1.22 
Node-Selector: alpha.kubernetes.io/fluentd-ds-ready=true 
Labels:   k8s-app=fluentd-es 
       kubernetes.io/cluster-service=true 
       version=v1.22 
Desired Number of Nodes Scheduled: 0 
Current Number of Nodes Scheduled: 0 
Number of Nodes Misscheduled: 0 
Pods Status: 0 Running/0 Waiting/0 Succeeded/0 Failed 
No events. 

我根據以上SO問題中的意見進行了下面的驗證。

kubectl api-versions 
apps/v1alpha1 
authentication.k8s.io/v1beta1 
authorization.k8s.io/v1beta1 
autoscaling/v1 
batch/v1 
batch/v2alpha1 
certificates.k8s.io/v1alpha1 
extensions/v1beta1 
policy/v1alpha1 
rbac.authorization.k8s.io/v1alpha1 
storage.k8s.io/v1beta1 
v1 

重新啓動後,我可以在下面看到一個kube-controller-manager中的日誌。

I0116 20:48:25.367335  1 controllermanager.go:326] Starting extensions/v1beta1 apis 
I0116 20:48:25.367368  1 controllermanager.go:328] Starting horizontal pod controller. 
I0116 20:48:25.367795  1 controllermanager.go:343] Starting daemon set controller 
I0116 20:48:25.367969  1 horizontal.go:127] Starting HPA Controller 
I0116 20:48:25.369795  1 controllermanager.go:350] Starting job controller 
I0116 20:48:25.370106  1 daemoncontroller.go:236] Starting Daemon Sets controller manager 
I0116 20:48:25.371637  1 controllermanager.go:357] Starting deployment controller 
I0116 20:48:25.374243  1 controllermanager.go:364] Starting ReplicaSet controller 

另一個有下面的日誌。

I0116 23:16:23.033707  1 leaderelection.go:295] lock is held by {master.host.name} and has not yet expired 

我錯過了什麼嗎?感謝您的幫助,找出問題所在。

回答

2

我找到了解決辦法研究https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml

後有nodeSelector: set as alpha.kubernetes.io/fluentd-ds-ready: "true"

但節點沒有這樣的一個標籤。我所做的是將標籤添加到一個節點中,以檢查它是否正常工作。

kubectl label nodes {node_name} alpha.kubernetes.io/fluentd-ds-ready="true" 

在那之後,我可以看到fluentd莢開始運行

kubectl --namespace=kube-system get pods 
NAME         READY  STATUS RESTARTS AGE 
fluentd-es-v1.22-x1rid     1/1  Running 0   6m 

感謝。