zoukankan      html  css  js  c++  java
  • 边缘计算k8s集群SuperEdge初体验

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

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

  • 相关阅读:
    win10 uwp 依赖属性
    win10 uwp 依赖属性
    Java实现蓝桥杯VIP 算法训练 阶乘末尾
    PHP fileperms() 函数
    PHP fileowner() 函数
    PHP filemtime() 函数
    PHP fileinode() 函数
    PHP filegroup() 函数
    查看MySQL已经运行的时长
    [HNOI2016]矿区
  • 原文地址:https://www.cnblogs.com/liguobao/p/14311019.html
Copyright © 2011-2022 走看看