前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >边缘计算k8s集群SuperEdge初体验

边缘计算k8s集群SuperEdge初体验

原创
作者头像
李国宝
修改2021-05-21 11:10:09
6940
修改2021-05-21 11:10:09
举报
文章被收录于专栏:编程技术向北,人生删除指南

前言

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

一直管理里面都比较蛋疼,甚至也不太记得住它们在哪是什么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/

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

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

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

代码语言:javascript
复制
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。

直接安装。

代码语言:javascript
复制
# pc-name 取一个自己喜欢的名字,小写+横线+数字组合都Ok,不能用下划线
./edgectl install -n pc-name

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

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

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

代码语言:javascript
复制
➜  ~ kc get node
NAME             STATUS   ROLES    AGE   VERSION
aliyun-changan   Ready    <none>   23d   v1.18.2
aliyun-huang     Ready    <none>   23d   v1.18.2
nuc-vm-ubuntu    Ready    <none>   23d   v1.18.2
➜  ~ kc describe node nuc-vm-ubuntu
Name:               nuc-vm-ubuntu
Roles:              <none>
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:             <none>
Unschedulable:      false
Lease:
  HolderIdentity:  nuc-vm-ubuntu
  AcquireTime:     <unset>
  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:              <none>

➜  ~ 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集群就完事了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档