Kubernetes单机部署之flanneldeployment

网友投稿 210 2022-10-28

Kubernetes单机部署之flanneldeployment

早上从笔记本电脑的虚拟机共享目录VirtualLocalShare中找到了以前做实验用的kube-flannel.yml文件,特将这个文件传到台式机的虚拟机上,以完成昨日Kubernetes单机部署的flannel deployment。由于国情原因,quay.io 是无法访问的,因此我找了个还能访问的国内镜像点,是李振良先生的提供的,不过flannel版本有点儿老,以下是我修改kube-flannel.yml后的文件内容:

[root@kubernetes-master ~]# cat -n kube-flannel.yml1 ---2 kind: ClusterRole3 apiVersion: rbac.authorization.k8s.io/v1beta14 metadata:5 name: flannel6 rules:7 - apiGroups:8 - ""9 resources:10 - pods11 verbs:12 - get13 - apiGroups:14 - ""15 resources:16 - nodes17 verbs:18 - list19 - watch20 - apiGroups:21 - ""22 resources:23 - nodes/status24 verbs:25 - patch26 ---27 kind: ClusterRoleBinding28 apiVersion: rbac.authorization.k8s.io/v1beta129 metadata:30 name: flannel31 roleRef:32 apiGroup: rbac.authorization.k8s.io33 kind: ClusterRole34 name: flannel35 subjects:36 - kind: ServiceAccount37 name: flannel38 namespace: kube-system39 ---40 apiVersion: v141 kind: ServiceAccount42 metadata:43 name: flannel44 namespace: kube-system45 ---46 kind: ConfigMap47 apiVersion: v148 metadata:49 name: kube-flannel-cfg50 namespace: kube-system51 labels:52 tier: node53 app: flannel54 data:55 cni-conf.json: |56 {57 "name": "cbr0",58 "plugins": [59 {60 "type": "flannel",61 "delegate": {62 "hairpinMode": true,63 "isDefaultGateway": true64 }65 },66 {67 "type": "portmap",68 "capabilities": {69 "portMappings": true70 }71 }72 ]73 }74 net-conf.json: |75 {76 "Network": "10.244.0.0/16",77 "Backend": {78 "Type": "vxlan"79 }80 }81 ---82 apiVersion: extensions/v1beta183 kind: DaemonSet84 metadata:85 name: kube-flannel-ds-amd6486 namespace: kube-system87 labels:88 tier: node89 app: flannel90 spec:91 template:92 metadata:93 labels:94 tier: node95 app: flannel96 spec:97 hostNetwork: true98 nodeSelector:99 beta.kubernetes.io/arch: amd64100 tolerations:101 - operator: Exists102 effect: NoSchedule103 serviceAccountName: flannel104 initContainers:105 - name: install-cni106 image: lizhenliang/flannel:v0.11.0-amd64107 command:108 - cp109 args:110 - -f111 - /etc/kube-flannel/cni-conf.json112 - /etc/cni/net.d/10-flannel.conflist113 volumeMounts:114 - name: cni115 mountPath: /etc/cni/net.d116 - name: flannel-cfg117 mountPath: /etc/kube-flannel/118 containers:119 - name: kube-flannel120 image: lizhenliang/flannel:v0.11.0-amd64121 command:122 - /opt/bin/flanneld123 args:124 - --ip-masq125 - --kube-subnet-mgr126 resources:127 requests:128 cpu: "100m"129 memory: "50Mi"130 limits:131 cpu: "100m"132 memory: "50Mi"133 securityContext:134 privileged: true135 env:136 - name: POD_NAME137 valueFrom:138 fieldRef:139 fieldPath: metadata.name140 - name: POD_NAMESPACE141 valueFrom:142 fieldRef:143 fieldPath: metadata.namespace144 volumeMounts:145 - name: run146 mountPath: /run147 - name: flannel-cfg148 mountPath: /etc/kube-flannel/149 volumes:150 - name: run151 hostPath:152 path: /run153 - name: cni154 hostPath:155 path: /etc/cni/net.d156 - name: flannel-cfg157 configMap:158 name: kube-flannel-cfg159 ---160 apiVersion: extensions/v1beta1161 kind: DaemonSet162 metadata:163 name: kube-flannel-ds-arm64164 namespace: kube-system165 labels:166 tier: node167 app: flannel168 spec:169 template:170 metadata:171 labels:172 tier: node173 app: flannel174 spec:175 hostNetwork: true176 nodeSelector:177 beta.kubernetes.io/arch: arm64178 tolerations:179 - operator: Exists180 effect: NoSchedule181 serviceAccountName: flannel182 initContainers:183 - name: install-cni184 image: quay.io/coreos/flannel:v0.11.0-arm64185 command:186 - cp187 args:188 - -f189 - /etc/kube-flannel/cni-conf.json190 - /etc/cni/net.d/10-flannel.conflist191 volumeMounts:192 - name: cni193 mountPath: /etc/cni/net.d194 - name: flannel-cfg195 mountPath: /etc/kube-flannel/196 containers:197 - name: kube-flannel198 image: quay.io/coreos/flannel:v0.11.0-arm64199 command:200 - /opt/bin/flanneld201 args:202 - --ip-masq203 - --kube-subnet-mgr204 resources:205 requests:206 cpu: "100m"207 memory: "50Mi"208 limits:209 cpu: "100m"210 memory: "50Mi"211 securityContext:212 privileged: true213 env:214 - name: POD_NAME215 valueFrom:216 fieldRef:217 fieldPath: metadata.name218 - name: POD_NAMESPACE219 valueFrom:220 fieldRef:221 fieldPath: metadata.namespace222 volumeMounts:223 - name: run224 mountPath: /run225 - name: flannel-cfg226 mountPath: /etc/kube-flannel/227 volumes:228 - name: run229 hostPath:230 path: /run231 - name: cni232 hostPath:233 path: /etc/cni/net.d234 - name: flannel-cfg235 configMap:236 name: kube-flannel-cfg237 ---238 apiVersion: extensions/v1beta1239 kind: DaemonSet240 metadata:241 name: kube-flannel-ds-arm242 namespace: kube-system243 labels:244 tier: node245 app: flannel246 spec:247 template:248 metadata:249 labels:250 tier: node251 app: flannel252 spec:253 hostNetwork: true254 nodeSelector:255 beta.kubernetes.io/arch: arm256 tolerations:257 - operator: Exists258 effect: NoSchedule259 serviceAccountName: flannel260 initContainers:261 - name: install-cni262 image: quay.io/coreos/flannel:v0.11.0-arm263 command:264 - cp265 args:266 - -f267 - /etc/kube-flannel/cni-conf.json268 - /etc/cni/net.d/10-flannel.conflist269 volumeMounts:270 - name: cni271 mountPath: /etc/cni/net.d272 - name: flannel-cfg273 mountPath: /etc/kube-flannel/274 containers:275 - name: kube-flannel276 image: quay.io/coreos/flannel:v0.11.0-arm277 command:278 - /opt/bin/flanneld279 args:280 - --ip-masq281 - --kube-subnet-mgr282 resources:283 requests:284 cpu: "100m"285 memory: "50Mi"286 limits:287 cpu: "100m"288 memory: "50Mi"289 securityContext:290 privileged: true291 env:292 - name: POD_NAME293 valueFrom:294 fieldRef:295 fieldPath: metadata.name296 - name: POD_NAMESPACE297 valueFrom:298 fieldRef:299 fieldPath: metadata.namespace300 volumeMounts:301 - name: run302 mountPath: /run303 - name: flannel-cfg304 mountPath: /etc/kube-flannel/305 volumes:306 - name: run307 hostPath:308 path: /run309 - name: cni310 hostPath:311 path: /etc/cni/net.d312 - name: flannel-cfg313 configMap:314 name: kube-flannel-cfg315 ---316 apiVersion: extensions/v1beta1317 kind: DaemonSet318 metadata:319 name: kube-flannel-ds-ppc64le320 namespace: kube-system321 labels:322 tier: node323 app: flannel324 spec:325 template:326 metadata:327 labels:328 tier: node329 app: flannel330 spec:331 hostNetwork: true332 nodeSelector:333 beta.kubernetes.io/arch: ppc64le334 tolerations:335 - operator: Exists336 effect: NoSchedule337 serviceAccountName: flannel338 initContainers:339 - name: install-cni340 image: quay.io/coreos/flannel:v0.11.0-ppc64le341 command:342 - cp343 args:344 - -f345 - /etc/kube-flannel/cni-conf.json346 - /etc/cni/net.d/10-flannel.conflist347 volumeMounts:348 - name: cni349 mountPath: /etc/cni/net.d350 - name: flannel-cfg351 mountPath: /etc/kube-flannel/352 containers:353 - name: kube-flannel354 image: quay.io/coreos/flannel:v0.11.0-ppc64le355 command:356 - /opt/bin/flanneld357 args:358 - --ip-masq359 - --kube-subnet-mgr360 resources:361 requests:362 cpu: "100m"363 memory: "50Mi"364 limits:365 cpu: "100m"366 memory: "50Mi"367 securityContext:368 privileged: true369 env:370 - name: POD_NAME371 valueFrom:372 fieldRef:373 fieldPath: metadata.name374 - name: POD_NAMESPACE375 valueFrom:376 fieldRef:377 fieldPath: metadata.namespace378 volumeMounts:379 - name: run380 mountPath: /run381 - name: flannel-cfg382 mountPath: /etc/kube-flannel/383 volumes:384 - name: run385 hostPath:386 path: /run387 - name: cni388 hostPath:389 path: /etc/cni/net.d390 - name: flannel-cfg391 configMap:392 name: kube-flannel-cfg393 ---394 apiVersion: extensions/v1beta1395 kind: DaemonSet396 metadata:397 name: kube-flannel-ds-s390x398 namespace: kube-system399 labels:400 tier: node401 app: flannel402 spec:403 template:404 metadata:405 labels:406 tier: node407 app: flannel408 spec:409 hostNetwork: true410 nodeSelector:411 beta.kubernetes.io/arch: s390x412 tolerations:413 - operator: Exists414 effect: NoSchedule415 serviceAccountName: flannel416 initContainers:417 - name: install-cni418 image: quay.io/coreos/flannel:v0.11.0-s390x419 command:420 - cp421 args:422 - -f423 - /etc/kube-flannel/cni-conf.json424 - /etc/cni/net.d/10-flannel.conflist425 volumeMounts:426 - name: cni427 mountPath: /etc/cni/net.d428 - name: flannel-cfg429 mountPath: /etc/kube-flannel/430 containers:431 - name: kube-flannel432 image: quay.io/coreos/flannel:v0.11.0-s390x433 command:434 - /opt/bin/flanneld435 args:436 - --ip-masq437 - --kube-subnet-mgr438 resources:439 requests:440 cpu: "100m"441 memory: "50Mi"442 limits:443 cpu: "100m"444 memory: "50Mi"445 securityContext:446 privileged: true447 env:448 - name: POD_NAME449 valueFrom:450 fieldRef:451 fieldPath: metadata.name452 - name: POD_NAMESPACE453 valueFrom:454 fieldRef:455 fieldPath: metadata.namespace456 volumeMounts:457 - name: run458 mountPath: /run459 - name: flannel-cfg460 mountPath: /etc/kube-flannel/461 volumes:462 - name: run463 hostPath:464 path: /run465 - name: cni466 hostPath:467 path: /etc/cni/net.d468 - name: flannel-cfg469 configMap:470 name: kube-flannel-cfg[root@kubernetes-master ~]#

flannel的deployment过程如下:[root@kubernetes-master ~]# kubectl apply -f kube-flannel.ymlclusterrole.rbac.authorization.k8s.io/flannel createdclusterrolebinding.rbac.authorization.k8s.io/flannel createdserviceaccount/flannel createdconfigmap/kube-flannel-cfg createddaemonset.extensions/kube-flannel-ds-amd64 createddaemonset.extensions/kube-flannel-ds-arm64 createddaemonset.extensions/kube-flannel-ds-arm createddaemonset.extensions/kube-flannel-ds-ppc64le createddaemonset.extensions/kube-flannel-ds-s390x created[root@kubernetes-master ~]# ps -ef|grep flannelroot 11839 1 0 23:26 ? 00:00:00 /usr/bin/flanneld -etcd-endpoints=-etcd-prefix=/atomic.io/networkroot 12668 12650 3 23:28 ? 00:00:00 /opt/bin/flanneld --ip-masq --kube-subnet-mgrroot 12746 9430 0 23:28 pts/0 00:00:00 grep --color=auto flannel[root@kubernetes-master ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONkubernetes-master Ready master 12h v1.15.0[root@kubernetes-master ~]# kubectl get componentstatusNAME STATUS MESSAGE ERRORcontroller-manager Healthy ok scheduler Healthy ok etcd-0 Healthy {"health":"true"} [root@kubernetes-master ~]# docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEregistry.aliyuncs.com/google_containers/kube-proxy v1.15.0 d235b23c3570 11 months ago 82.4MBregistry.aliyuncs.com/google_containers/kube-apiserver v1.15.0 201c7a840312 11 months ago 207MBregistry.aliyuncs.com/google_containers/kube-scheduler v1.15.0 2d3813851e87 11 months ago 81.1MBregistry.aliyuncs.com/google_containers/kube-controller-manager v1.15.0 8328bb49b652 11 months ago 159MBlizhenliang/flannel v0.11.0-amd64 ff281650a721 16 months ago 52.6MBregistry.aliyuncs.com/google_containers/coredns 1.3.1 eb516548c180 16 months ago 40.3MBregistry.aliyuncs.com/google_containers/etcd 3.3.10 2c4adeb21b4f 18 months ago 258MBregistry.aliyuncs.com/google_containers/pause 3.1 da86e6ba6ca1 2 years ago 742kB[root@kubernetes-master ~]# kubectl get pod -n kube-systemNAME READY STATUS RESTARTS AGEcoredns-bccdc95cf-2g9rw 1/1 Running 0 12hcoredns-bccdc95cf-xzfrl 1/1 Running 0 12hetcd-kubernetes-master 1/1 Running 2 12hkube-apiserver-kubernetes-master 1/1 Running 2 12hkube-controller-manager-kubernetes-master 1/1 Running 2 12hkube-flannel-ds-amd64-t5prf 1/1 Running 0 115skube-proxy-npszc 1/1 Running 2 12hkube-scheduler-kubernetes-master 1/1 Running 2 12h[root@kubernetes-master ~]#

孟伯,20200527

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Istio 从懵圈到熟练:二分之一活的微服务
下一篇:springCloud gateWay 统一鉴权的实现代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~