前言

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

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

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

边缘计算k8s集群SuperEdge初体验的更多相关文章

  1. 边缘计算k8s集群之SuperEdge

    什么是边缘计算? 边缘计算,是指在靠近物或数据源头的一侧,采用网络.计算.存储.应用核心能力为一体的开放平台,就近提供最近端服务.其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务.应 ...

  2. 利用容器逃逸实现远程登录k8s集群节点

    某天, 某鱼说要吃瞄, 于是...... 李国宝:边缘计算k8s集群SuperEdge初体验 ​ zhuanlan.zhihu.com 图标 照着上一篇文章来说,我这边边缘计算集群有一堆节点. 每个节 ...

  3. kubeadm搭建K8s集群及Pod初体验

    基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我 ...

  4. 用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群

    背景 目前,很多边缘计算容器开源项目在使用上均存在一个默认的前提:用户需要提前准备一个标准的或者特定工具搭建的 Kubernetes 集群,然后再通过特定工具或者其他方式在集群中部署相应组件来体验边缘 ...

  5. 如何在 Serverless K8s 集群中低成本运行 Spark 数据计算?

    作者 | 柳密 阿里巴巴阿里云智能 ** 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复"入门",即可获取 ...

  6. 万级K8s集群背后etcd稳定性及性能优化实践

    背景与挑战 随着腾讯自研上云及公有云用户的迅速增长,一方面,腾讯云容器服务TKE服务数量和核数大幅增长, 另一方面我们提供的容器服务类型(TKE托管及独立集群.EKS弹性集群.edge边缘计算集群.m ...

  7. 万级K8s集群背后 etcd 稳定性及性能优化实践

    1背景与挑战随着腾讯自研上云及公有云用户的迅速增长,一方面,腾讯云容器服务TKE服务数量和核数大幅增长, 另一方面我们提供的容器服务类型(TKE托管及独立集群.EKS弹性集群.edge边缘计算集群.m ...

  8. 在 Nebula K8s 集群中使用 nebula-spark-connector 和 nebula-algorithm

    本文首发于 Nebula Graph Community 公众号 解决思路 解决 K8s 部署 Nebula Graph 集群后连接不上集群问题最方便的方法是将 nebula-algorithm / ...

  9. 强大多云混合多K8S集群管理平台Rancher入门实战

    @ 目录 概述 定义 为何使用 其他产品 安装 简述 规划 基础环境 Docker安装 Rancher安装 创建用户 创建集群 添加Node节点 配置kubectl 创建项目和名称空间 发布应用 偏好 ...

随机推荐

  1. TLS 协议

    一.背景 参与了一个Sofa-RPC开源项目,认领了TLS的任务,记录下这次宝贵的经历,并感谢章哥的信任以及在整个过程中对我的帮助. 负责的部分不难,主要是使用h2(HTTP 2加密)协议,完成RPC ...

  2. [日常摸鱼]poj2420 A Star not a Tree?

    题意:给定$n$个点,找一个点使得这个点到所有点的距离之和最小,求出这个最小距离 传说中的模拟退火- #include<cstdio> #include<ctime> #inc ...

  3. 嵌入式开发笔记——调试组件SEGGER_HardFaultHandle

    一.前言 在使用Cortex-M内核的MCU进行开发时,有时候会因为对内存错误访问等原因造成程序产生异常从而进入HardFaultHandler错误中断.如果程序结构比较复杂,尤其是运行了RTOS时可 ...

  4. Python进阶学习_连接操作Redis数据库

    安装导入第三方模块Redis pip3 install redis import redis 操作String类型 """ redis 基本命令 String set(n ...

  5. windows服务器安装exe文件出错

    今天在安装exe文件的时候出现了错误,记录如下: 服务器环境为windows 2016数据中心标准英文版.要安装的软件为***.exe.按照在本地电脑上安装的方法,直接双击打开,然后错误出现如下图: ...

  6. Raft算法系列教程4:日志不一致的解决

    网络不可能一直处于正常情况,因为Leader或者某个Follower有可能会崩溃,从而导致日志不能一直保持一致.因此存在以下三种情况: (1)Follower缺失当前Leader上存在的日志条目.(2 ...

  7. leetcode上面用刷题不要使用static静态变量

    因为leetcode上面每个测试用例会使用之前的同一个类,使用静态变量会导致静态变量的值不被初始话从而使得本次测试用例,之前的静态变量,从而导致错误发生.

  8. Vue项目如何打包问题总结

    当我们将 vue 项目完成后,面临的就是如何将项目进行打包上线,放到服务器中.我使用的是 vue-cli(simple) 脚手架,所以就讲一下如何将项目进行打包,并放到 tomcat 上. 先来描述一 ...

  9. 死磕以太坊源码分析之MPT树-上

    死磕以太坊源码分析之MPT树-上 前缀树Trie 前缀树(又称字典树),通常来说,一个前缀树是用来存储字符串的.前缀树的每一个节点代表一个字符串(前缀).每一个节点会有多个子节点,通往不同子节点的路径 ...

  10. FAAS -- Serverless

    FAAS概念,无服务器运算,功能即服务,function-as-a-service 初创企业-大型企业.民间组织-政府机构 ===>>>> 上云 云计算第三代技术 -- Ser ...