我应该在系统服务的裸机上安装法兰绒,还是用k8s作为DaemonSet运行?

时间:2018-02-25 12:26:05

标签: kubernetes flannel

尝试在裸机上构建k8s群集。我使用CoreOS作为节点的主机操作系统。我对应该为群集网络安装法兰绒的方式有点混乱。

我从文档中看到,我可以将其下载到我的主机并使用systemd启动它或使用k8s DaemonSet manifest

我个人喜欢DaemonSet的想法,因为k8s将负责在每个节点上运行法兰绒。但是将法兰绒作为k8s-DaemonSet运行有什么缺点吗?

文件还说我应该在任何其他豆荚之前运行法兰绒。这就是我的第一个想法是将它放在为kubelet --pod-manifest参数指定的路径上的原因。但由于法兰绒的yaml不包含PodDaemonSet和一些与RBAC相关的实体,我使用--pod-manifest dir来部署法兰绒时出现以下错误:

  

无法处理清单文件" /etc/kubernetes/manifests/flannel.yaml":/etc/kubernetes/manifests/flannel.yaml:无法解析为pod(无效) pod:& rbac.ClusterRole {TypeMeta:v1.TypeMeta {Kind:"",APIVersion:""},ObjectMeta:v1.ObjectMeta {Name:" flannel& #34;,GenerateName:"",命名空间:"",SelfLink:"",UID:"",ResourceVersion: "",生成:0,CreationTimestamp:v1.Time {时间:time.Time {wall:0x0,ext:0,loc:(* time.Location)(nil)}},DeletionTimestamp :( * v1.Time)(nil),DeletionGracePeriodSeconds:(* int64)(nil),标签:map [string] string(nil),注释:map [string] string(nil),OwnerReferences:[] v1.OwnerReference(nil) ),Initializers:(* v1.Initializers)(nil),Finalizers:[] string(nil),ClusterName:""},规则:[] rbac.PolicyRule {rbac.PolicyRule {动词:[ ] string {" get"},APIGroups:[] string {""},资源:[] string {" pods"},ResourceNames:[] string (nil),NonResourceURLs:[] string(nil)},rbac.PolicyRule {动词:[] string {" list"," watch"},APIGroups:[] string {""},资源:[] string {&# 34; nodes"},ResourceNames:[] string(nil),NonResourceURLs:[] string(nil)},rbac.PolicyRule {Verbs:[] string {" patch"},APIGroups:[ ] string {""},资源:[] string {" nodes / status"},ResourceNames:[] string(nil),NonResourceURLs:[] string(nil)}} ,AggregationRule:(* rbac.AggregationRule)(nil)}),请检查清单文件。

所以如果我想在特定节点上的其他pod之前执行我的flannel yaml-manifest,我应该把它放在哪里?或者唯一的选择是执行kubectl apply -f flannel.yaml

0 个答案:

没有答案