7

边缘计算k8s集群SuperEdge初体验

 3 years ago
source link: http://www.cnblogs.com/liguobao/p/14311019.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

前言

手上一直都有一堆的学生主机,各种各样渠道途径拿来的机器。

一直管理里面都比较蛋疼,甚至也不太记得住它们在哪是什么IP,管理起来很是头疼。

有阵子空闲的时候想折腾了一下边缘计算集群方案。

希望能把它们管理起来,做一个通用的计算方案。

问过dalao,给我推荐k3s。

K3s | 轻量级Kubernetes | 物联网及边缘计算K8S解决方案 | Rancher

www.rancher.cn

道理上是挺好的,不过....

看到Rancher是又惊又喜啊。

17年在http://ruff.io搞事的时候,集群方案就用的rancher,好用是好用,事多是真事多。

体验了一下,节点组装成集群的时候要做的事情有点多,而且还有自己管理master,用了一下就放弃了。

后来在某鱼

@白小鱼

的某次交流中,也看到kubeEdge这一套方案。

https://kubeedge.io/zh/

kubeedge.io

本着玩死机器不偿命的主题,肯定是拥抱它啊。

然后....

又浪费了我一个周末。

评价:一个照着官网文档跑不好的东西,不值得我花时间。jpg

不许gang,再问就是我菜。

PS:后来看到是华为捐出来的,就更加不想折腾了。

再后来,看到一直在用的某云出了边缘计算集群公测。

好家伙,master节点不用我给,直接加自己的机器到上面作为node节点。

完整的k8s集群方案,和平时用的普通集群基本没有区别。

完美,这就是我要的方案。

集群配置基本就是页面上点点点就完事了。

kubectl的配置看下官方或者某云教程都OK。

https://kubernetes.io/docs/tasks/tools/install-kubectl/

集群访问凭证也可以在这边直接下载到本地后设置。

v2ymYbi.png!mobile

添加节点的方式比较无脑。

jyQ77bN.png!mobile

FZfERz6.png!mobile

edgectl下载到本地之后,执行一下./edgectl --help看看

root@nucubuntu:~# ./edgectl --help

Usage:

edgectl command [flags]

Available Commands:

check Check the edge node if to be add to clusters

install Install components to edge node

clear Clear edge node and recovery as usual

Flags:

-h, --help Help for edgectl

OK。

直接安装。

pc-name 取一个自己喜欢的名字,小写+横线+数字组合都Ok,不能用下划线

./edgectl install -n pc-name

等它跑完之后,成功看到Successfull之类的就完事了。

安装完之后,在某云集群的节点管理就能看到这台机器了。

也可以直接通过kubectl查看机器信息。

➜ ~ kc get node

NAME STATUS ROLES AGE VERSION

aliyun-changan Ready

23d v1.18.2

aliyun-huang Ready

23d v1.18.2

nuc-vm-ubuntu Ready

23d v1.18.2

➜ ~ kc describe node nuc-vm-ubuntu

Name: nuc-vm-ubuntu

Roles:

Labels: beta.kubernetes.io/arch=amd64

beta.kubernetes.io/os=linux

kubernetes.io/arch=amd64

kubernetes.io/hostname=nuc-vm-ubuntu

kubernetes.io/os=linux

region=cn

Annotations: flannel.alpha.coreos.com/backend-data: {"VtepMAC":"72:83:61:5b:7c:b7"}

flannel.alpha.coreos.com/backend-type: vxlan

flannel.alpha.coreos.com/kube-subnet-manager: true

flannel.alpha.coreos.com/public-ip: 10.0.2.15

node.alpha.kubernetes.io/ttl: 0

nodeunhealth: yes

volumes.kubernetes.io/controller-managed-attach-detach: true

CreationTimestamp: Tue, 29 Dec 2020 11:00:29 +0800

Taints:

Unschedulable: false

Lease:

HolderIdentity: nuc-vm-ubuntu

AcquireTime:

RenewTime: Thu, 21 Jan 2021 22:45:23 +0800

Conditions:

Type Status LastHeartbeatTime LastTransitionTime Reason Message

NetworkUnavailable False Mon, 18 Jan 2021 10:05:43 +0800 Mon, 18 Jan 2021 10:05:43 +0800 FlannelIsUp Flannel is running on this node

MemoryPressure False Thu, 21 Jan 2021 22:42:47 +0800 Wed, 20 Jan 2021 17:07:46 +0800 KubeletHasSufficientMemory kubelet has sufficient memory available

DiskPressure False Thu, 21 Jan 2021 22:42:47 +0800 Wed, 20 Jan 2021 17:07:46 +0800 KubeletHasNoDiskPressure kubelet has no disk pressure

PIDPressure False Thu, 21 Jan 2021 22:42:47 +0800 Wed, 20 Jan 2021 17:07:46 +0800 KubeletHasSufficientPID kubelet has sufficient PID available

Ready True Thu, 21 Jan 2021 22:42:47 +0800 Wed, 20 Jan 2021 17:07:46 +0800 KubeletReady kubelet is posting ready status. AppArmor enabled

Addresses:

InternalIP: 10.0.2.15

Hostname: nuc-vm-ubuntu

Capacity:

cpu: 2

ephemeral-storage: 19475088Ki

hugepages-2Mi: 0

memory: 8054976Ki

pods: 127

Allocatable:

cpu: 1940m

ephemeral-storage: 17948241072

hugepages-2Mi: 0

memory: 7788736Ki

pods: 127

System Info:

Machine ID: 8056248ceff544a3972666b79b1f3fb6

System UUID: 0d728d29-d62c-e948-a3b9-01ee8625bfe3

Boot ID: 7bddb25d-d02c-4341-9db4-ef3840795e3d

Kernel Version: 5.4.0-62-generic

OS Image: Ubuntu 20.04.1 LTS

Operating System: linux

Architecture: amd64

Container Runtime Version: docker://18.6.3

Kubelet Version: v1.18.2

Kube-Proxy Version: v1.18.2

PodCIDR: 172.16.1.0/24

PodCIDRs: 172.16.1.0/24

Non-terminated Pods: (18 in total)

Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE

default crawl-douban-edge-1611231000-mmbmk 10m (0%) 200m (10%) 64Mi (0%) 256Mi (3%) 155m

kube-system application-grid-wrapper-dqrgd 10m (0%) 50m (2%) 20Mi (0%) 100Mi (1%) 23d

kube-system coredns-lf2fr 50m (2%) 50m (2%) 70Mi (0%) 170Mi (2%) 6d22h

kube-system edge-health-cvzg4 10m (0%) 50m (2%) 20Mi (0%) 100Mi (1%) 23d

kube-system flannel-7zw8b 50m (2%) 100m (5%) 50Mi (0%) 200Mi (2%) 23d

kube-system kube-proxy-gnmpv 10m (0%) 50m (2%) 50Mi (0%) 100Mi (1%) 23d

kube-system proxy-edge-4lkrk 0 (0%) 0 (0%) 0 (0%) 0 (0%) 23d

Allocated resources:

(Total limits may be over 100 percent, i.e., overcommitted.)

Resource Requests Limits

cpu 240m (12%) 2500m (128%)

memory 1490Mi (19%) 5790Mi (76%)

ephemeral-storage 0 (0%) 0 (0%)

hugepages-2Mi 0 (0%) 0 (0%)

Events:

➜ ~ kc top node

NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%

aliyun-changan 29m 3% 679Mi 43%

aliyun-huang 48m 5% 1137Mi 65%

nuc-vm-ubuntu 509m 26% 1869Mi 24%

最后基本像正常使用一个k8s集群就完事了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK