zoukankan      html  css  js  c++  java
  • ACK EDGE 实战

    介绍

    阿里云边缘托管Kubernetes集群支持对边缘计算场景的容器应用和资源全生命周期管理

    参考文档:

    ack edge架构

    G-11

    • 创建集群时,您需要选择购买至少1台云端ECS节点,用于部署边缘运维通道组件edge-tunnel-server

    • 为创建安全加密的公网运维通道,系统会为edge-tunnel-server组件创建的服务对象购买一个SLB,边缘节点上的edge-tunnel-agent将通过该SLB与edge-tunnel-server建立安全加密的运维通道。

    • 当云端组件(例如:kube-apiserver、metrics-server)访问边缘节点10250和10255端口时,边缘集群默认会将访问请求自动导流到edge-tunnel-server组件,云端组件无需做任何修改。

    ack edge 基于开源项目openyurt,有兴趣可以阅读

    使用

    1. 创建ACK EDGE集群

    阿里云不支持在当前集群中添加EDGE功能,需要另外创建集群,创建方法参考边缘托管版集群

    注意项:

    1. 需要RAM权限

    2. 需要开通ESS权限

    3. 需要开通ENS服务

    4. 尽量添加多个region的vswitch(后期不可变更cluster vswitch)

    5. 创建时云端ECS 会被打上污点node-role.alibabacloud.com/addon

    6. 默认集群节点数量40,增加需要提工单申请

    2. 添加边缘节点

    添加边缘节点方法

    注意项:

    1. 添加边缘节点前提前规划好主机名或在生成的添加脚本中加入参数nodeNameOverride
    2. 加入边缘节点收费标准: 6¥/核 月
    3. 跨节点池之间无法实现服务间通讯
    4. 同一机房(三层网络互通)建议接入同一边缘节点池,同一边缘节点池不建议跨机房
    5. 手动给边缘节点池节点打上特征标签,方便后续部署应用调度
    6. 添加边缘节点后设置节点自治

    3. 移除边缘节点

    • 可以使用kubectl delete node 或通过控制台移除子节点
    • 需要使用接入工具Edgeadm的Reset子命令重置节点之后才能接入其它集群

    4. kubectl 管理集群

    1. 可以使用kubectl 命令管理不同集群的应用(logs, exec, cp, top .....)
    2. 使用常规deployment需要注意设置好对应边缘节点的nodeSelector
    3. ACK@Edge提供单元化部署(UnitedDeployment) 对多边缘节点池节点实现统一管理

    unitedDeployment 使用

    cat << EOF | kubectl apply -f -
    apiVersion: apps.openyurt.io/v1alpha1
    kind: UnitedDeployment
    metadata:
      name: example 
      namespace: default
    spec:
      revisionHistoryLimit: 5
      selector:
        matchLabels:
          app: example 
      workloadTemplate:
        deploymentTemplate:
          metadata:
            creationTimestamp: null
            labels:
              app: example 
          spec:
            selector:
              matchLabels:
                app: example 
            template:
              metadata:
                creationTimestamp: null
                labels:
                  app: example 
              spec:
                containers:
                - image: nginx:1.19.3
                  imagePullPolicy: Always
                  name: nginx
                dnsPolicy: ClusterFirst
                restartPolicy: Always
      topology:
        pools:
        - name: cloud
          nodeSelectorTerm:
            matchExpressions:
            - key: apps.openyurt.io/nodepool
              operator: In
              values:
              - np00d5e418870d49698a4e3612004266fb
          replicas: 2
        - name: edge
          nodeSelectorTerm:
            matchExpressions:
            - key: apps.openyurt.io/nodepool
              operator: In
              values:
              - np470838348300460b8d40e1aed99b3730
          replicas: 2
          tolerations:
          - effect: NoSchedule
            key: node-role.alibabacloud.com/addon
            operator: Exists
    EOF
    
  • 相关阅读:
    CSS 去掉文字选中状态
    解决MAC系统升级导致COCOAPODS失效问题
    qr-mili Tekniskt stöd
    JavaScript 随笔
    Https 单向验证 双向验证
    git 常用指令
    h5或者微信端吊起app
    创建本地服务器环境
    jenkins 关闭和重启的实现
    jenkins 忘记用户名和密码
  • 原文地址:https://www.cnblogs.com/drfung/p/15067216.html
Copyright © 2011-2022 走看看