zoukankan      html  css  js  c++  java
  • ACK容器服务发布virtual node addon,快速部署虚拟节点提升集群弹性能力

    在上一篇博文中(https://yq.aliyun.com/articles/647119),我们展示了如何手动执行yaml文件给Kubernetes集群添加虚拟节点,然而,手动执行的方式用户体验并不友好,也无法以组件的方式持续升级和管理。现在我们已经可以通过Helm的方式,让ack-virtual-node的部署和管理变得更加简单。首先,让我们简单回顾一下虚拟节点Virtual Node是如何运行的。

    虚拟节点Virtual Node

    虚拟节点来源于社区virtual kubelet技术,其实现了kubernetes与弹性容器实例ECI的无缝连接,让kubernetes集群轻松获得极大的弹性能力,而不必受限于集群的节点容量,其“虚拟”则体现在节点容量的“无限”。

    在混合集群中,真实节点上的pod与虚拟节点上的pod互联互通。但虚拟节点创建的pod是按需付费,收费规则请参考:https://help.aliyun.com/document_detail/89142.html。pod规格配置支持0.25c至64c,请参考:https://help.aliyun.com/document_detail/89138.html

    安装ack-virtual-node插件

    首先登录容器服务控制台,创建托管版kubernetes集群。在应用目录页面选择ack-virtual-node。
    https://cs.console.aliyun.com/#/k8s/catalog/detail/incubator_ack-virtual-node

    配置虚拟节点参数,包括Region,AK信息,vswitchId和securityGroupId需要和Kubernetes集群配置相同(可在集群信息页面查看网络配置信息)

    安装Helm插件

    安装成功后,在节点页面可以看到添加了一个节点virtual-kubelet

    通过kubectl命令,我们可以查看节点和helm部署状态,后续也可以通过helm对ack-virtual-node进行升级和管理。

    基于虚拟节点创建pod

    创建如下nginx pod,设置正确的nodeSelector和tolerations,确保pod会被调度到虚拟节点上。

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
    spec:
      containers:
      - image: nginx
        imagePullPolicy: Always
        name: nginx
      nodeSelector:
        type: virtual-kubelet
      tolerations:
      - key: virtual-kubelet.io/provider
        operator: Exists
    

    使用场景

    虚拟节点和Serverless Kubernetes都是基于弹性容器实例ECI构建,都属于Serverless Container产品形态,主要适用于多种Serverless workload场景,可以极大的降低运维成本,降低用户的总体计算成本,提高计算效率。欢迎用户使用。



    本文作者:贤维

    原文链接

    本文为云栖社区原创内容,未经允许不得转载。

  • 相关阅读:
    redis 批量删除key
    控制台直接执行sql语句
    item2 快捷键
    mac mamp环境 PHP命令行反应缓慢解决
    composer gitlab 搭建私包
    PostgreSql命令
    maven 程序包com.sun.image.codec.jpeg
    lumen配置日志daily模式
    PHPStorm怎么修改选中的背景颜色呢?
    vim 配置文件.vimrc,高亮+自动缩进+行号+折叠+优化
  • 原文地址:https://www.cnblogs.com/zhaowei121/p/10735839.html
Copyright © 2011-2022 走看看