当前位置: 首页 > news >正文

义乌兼职网站建设建立有效的什么机制

义乌兼职网站建设,建立有效的什么机制,购物网站建设规划书范文,江门网站建设硬件设备作者:庄宇 在前一篇文章《应对突发流量,如何快速为自建 K8s 添加云上弹性能力》中,我们介绍了如何为 IDC 中 K8s 集群添加云上节点,应对业务流量的增长,通过多级弹性调度,灵活使用云上资源,并通…

作者:庄宇

在前一篇文章《应对突发流量,如何快速为自建 K8s 添加云上弹性能力》中,我们介绍了如何为 IDC 中 K8s 集群添加云上节点,应对业务流量的增长,通过多级弹性调度,灵活使用云上资源,并通过自动弹性伸缩,提高使用率,降低云上成本。

这种直接添加节点的方式,适合需要自定义配置节点(runtime,kubelet,NVIDIA 等),需要特定 ECS 实例规格等场景。同时,这种方式意味您需要自行维护云上节点池。

如果您不想维护云上节点池,您可以选择 Serverless 方式使用阿里云 ECI 弹性容器实例运行业务 Pod,更加高效弹性的使用云上 CPU/GPU 资源。

概述

通过 Serverless 方式使用云上计 CPU/GPU 资源,针对的问题依然是 IDC 中 K8s 集群的弹性能力不足,不能满足业务的快速增长、周期性业务增长和突发业务流量。

通过 Serverless 方式,可以在 K8s 集群直接提交业务 Pod,Pod 将使用阿里云 ECI 弹性容器实例运行,ECI 弹性容器实例启动速度快,与业务 Pod 的生命周期一致,按 Pod 运行时间计费。从而不需要为 IDC 中 K8s 集群创建云上节点,不需要规划云上资源容量,不需要等待 ECS 创建完成,实现了极致弹性,并节省了节点运维成本。

IDC 中 K8s 集群以 Serverless 方式使用云上 CPU/GPU 资源,适合以下业务场景:

  • 在线业务的波峰波谷弹性伸缩:如在线教育、电商等行业有着明显的波峰波谷计算特征。使用 Serverless ECI 可以显著减少固定资源池的维护,降低计算成本。
  • 数据计算:使用 Serverless ECI 承载 Spark、Presto、ArgoWorkflow 等计算场景,按 Pod 运行时间计费,有效降低计算成本。
  • CI/CD Pipeline:Jenkins、Gitlab-Runner。
  • Job 任务:定时任务、AI。

在这里插入图片描述

演示-IDC 中 K8s 集群以 Serverless 方式使用云上资源

1. 前提条件

已经通过 ACK One 注册机群接入 IDC 中 K8s 集群,参见《选对方法,K8s 多集群管理没那么难》。

2. 安装 ack-virtual-node 组件

通过 ACK One 注册集群控制台安装 ack-virtual-node 组件,安装组件后,通过注册集群 kubeconfig 查看集群节点池。virtual-kubelet 为虚拟节点,对接阿里云 Serverless ECI。

kubectl get node
NAME                               STATUS   ROLES    AGE    VERSION
iz8vb1xtnuu0ne6b58hvx0z            Ready    master   4d3h   v1.20.9   //IDC集群节点,示例只有1个master节点,同时也是worker节点,可以运行业务容器
virtual-kubelet-cn-zhangjiakou-a   Ready    agent    99s    v1.20.9。//安装ack-virtual-node组件生产的虚拟节点

3. 使用 Serverless ECI 运行 Pod(CPU/GPU 任务)

方式一: 配置 Pod 标签,为 Pod 添加标签 alibabacloud.com/eci=true,Pod 将以 Serverless ECI 方式运行。示例中,使用 GPU ECI 实例运行 CUDA 任务,您不需要安装配置 NVIDIA driver 和 runtime,真正做到 Serverless 化运行。

a. 提交 Pod,使用 Serverless ECI 运行。

> cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:name: gpu-podlabels:alibabacloud.com/eci: "true"  # 指定Pod使用Serverless ECI运行annotations:k8s.aliyun.com/eci-use-specs: ecs.gn5-c4g1.xlarge  # 指定支持的GPU规格,该规格具备1个NVIDIA P100 GPU
spec:restartPolicy: Nevercontainers:- name: cuda-containerimage: acr-multiple-clusters-registry.cn-hangzhou.cr.aliyuncs.com/ack-multiple-clusters/cuda10.2-vectoraddresources:limits:nvidia.com/gpu: 1 # 申请1个GPU
EOF

b. 查看 Pod,Pod 运行在虚拟节点 virtual-kubelet 上,实际后台使用阿里云 Serverless ECI 运行。

> kubectl get pod -o wide
NAME       READY   STATUS      RESTARTS   AGE     IP              NODE                               NOMINATED NODE   READINESS GATES
gpu-pod    0/1     Completed   0          5m30s   172.16.217.90   virtual-kubelet-cn-zhangjiakou-a   <none>           <none>> kubectl logs gpu-pod
Using CUDA Device [0]: Tesla P100-PCIE-16GB
GPU Device has SM 6.0 compute capability
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done

方式二: 设置命名空间标签

为命名空间设置标签 alibabacloud.com/eci=true,命名空间中所有新建 pod,将以 Serverless ECI 方式运行。

kubectl label namespace <namespace-name> alibabacloud.com/eci=true

4. 多级弹性调度

上面的演示中,我们通过设置 Pod 或者命名空间的标签以使用 Serverless ECI 运行 Pod。如果您期望应用运行过程中优先使用 IDC 中的节点资源运行 Pod,当 IDC 资源不足时,再使用阿里云 Serverless ECI 运行 Pod。您可以使用 ACK One 注册集群的多级弹性调度,通过安装 ack-co-scheduler 组件,您可以定义 ResourcePolicy CR 对象,使用多级弹性调度功能。

ResourcePolicy CR 是命名空间资源,重要参数解析:

  • selector:声明 ResourcePolicy 作用于同一命名空间下 label 上打了 key1=value1 的 Pod

  • strategy:调度策略选择,目前只支持 prefer

  • units:用户自定义的调度单元。应用扩容时,将按照 units 下资源的顺序选择资源运行;应用缩容时,将按照逆序进行缩容

    • resource:弹性资源的类型,目前支持 idc、ecs 和 eci 三种类型
    • nodeSelector:用 node 的 label 标识该调度单元下的节点,只对 ecs 资源生效
    • max:在该组资源最多部署多少个实例

步骤如下:

  1. 定义 ResourcePolicy CR,优先使用 IDC 中集群资源,再使用云上 Serverless ECI 资源。
> cat << EOF | kubectl apply -f -
apiVersion: scheduling.alibabacloud.com/v1alpha1
kind: ResourcePolicy
metadata:name: cost-balance-policy
spec:selector:app: nginx           // 选择应用Podstrategy: preferunits:- resource: idc        //优先使用idc指定使用IDC中节点资源- resource: eci        //当idc节点资源不足时,使用Serverless ECI
EOF
  1. 创建应用 Deployment,启动 2 个副本,每个副本需要 2 个 CPU。
> cat << EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:name: nginxlabels:app: nginx
spec:replicas: 2selector:matchLabels:app: nginxtemplate:metadata:name: nginxannotations:addannotion: "true"labels:app: nginx      # 此处要与上一步创建的ResourcePolicy的selector相关联。spec:schedulerName: ack-co-schedulercontainers:- name: nginximage: acr-multiple-clusters-registry.cn-hangzhou.cr.aliyuncs.com/ack-multiple-clusters/nginxresources:requests:cpu: 2limits:cpu: 2
EOF
  1. 执行以下命令对应用扩容 4 个副本,IDC 中 K8s 集群只有一个 6CPU 节点,最多启动 2 个 nginx pods(系统资源预留,无法启动 3 个 pod)。剩余的 2 个副本在 IDC 节点资源不足后,自动使用阿里云 Serverless ECI 运行 Pods。
kubectl scale deployment nginx --replicas 4
  1. 查看 Pod 运行情况,2 个 Pod 运行在 IDC 中的节点,2 个 Pod 使用虚拟节点在阿里云 Serverless ECI 上运行。
> kubectl get pod -o widek get pod -o wideNAME                     READY   STATUS    RESTARTS   AGE     IP              NODE                      nginx-79cd98b4b5-97s47   1/1     Running   0          84s     10.100.75.22    iz8vb1xtnuu0ne6b58hvx0z   nginx-79cd98b4b5-gxd8z   1/1     Running   0          84s     10.100.75.23    iz8vb1xtnuu0ne6b58hvx0z   nginx-79cd98b4b5-k55rb   1/1     Running   0          58s     10.100.75.24    virtual-kubelet-cn-zhangjiakou-anginx-79cd98b4b5-m9jxm   1/1     Running   0          58s     10.100.75.25    virtual-kubelet-cn-zhangjiakou-a

总结

本文介绍了基于 ACK One 注册集群实现 IDC 中 K8s 集群以 Serverless ECI 方式使用阿里云 CPU 和 GPU 计算资源,以应对业务流量增长。这种方式,完全 Serverless 化,无需额外运维云上节点,按 Pod 运行时间计费,灵活高效。

后续我们将陆续推出 ACK One 注册集群的系列文章,包括:容灾备份,安全管理等。欢迎通过搜索钉钉群号加入我们。(群号:35688562)

参考文档:

[1] 注册集群概述

https://help.aliyun.com/document_detail/155208.html

[2] 使用弹性容器ECI扩容集群

https://help.aliyun.com/document_detail/164370.html

[3] ECI支持的实例类型

https://help.aliyun.com/document_detail/451262.html

[4] 多级弹性调度

https://help.aliyun.com/document_detail/446694.html

点击此处,查看 ACK One 更多产品详情

http://www.yayakq.cn/news/884156/

相关文章:

  • 网站开发和游戏开发哪个好建筑网站、
  • 东莞企业网站排名优化优酷网站模板下载
  • 个人网站建设一般流程wordpress 搜索分页
  • 怎么把网站设置为主页面网络游戏制作软件
  • 南通营销网站开发施工企业会计核算实务
  • 泗洪县建设局网站怎么查不到域名注册商查询工具
  • 网站开发需要服务器吗网上黑赌网站如何做代理
  • 绿色家园网站怎么做广州做礼物的网站
  • 网站设计有哪几种设计方法网站的优化哪个好
  • 杭州网站开发工程师建筑英才招聘网首页
  • 福州网站建设电话聊城网站建设有限公司
  • vpswindows学生18公交车上泽成seo网站排名
  • 大连开发区网站制作建设公司沈阳最新数据消息
  • 大学网站开发的流程系统首页设计图
  • 怎么建设一个属于自己的网站济南建站公司注意什么
  • 网站建设服务费怎么做会计分录合肥有哪些公司是做网站的
  • 快速做网站的方法网站建设需要在哪备案
  • 临沂网站企业怎样选择域名做网站
  • 网站视频下载windows义乌专业做网站的公司
  • joomla 2.5:你的网站建设_使用与管理深圳网站建设 百度一下
  • 网站流量团队防城港网站开发
  • 企业门户网站建设的必要性i深圳app官方下载
  • 双鸭山网站建设实木家具全屋定制十大名牌
  • .net网站开发免费教程全国企业信用信息查询系统官网
  • 跨境购物网站建设网站建设哪家go好
  • 做网站策划书吧电商网站设计周志
  • 门户网站开发费需入无形资产网络舆情监测工作总结
  • 南昌建设网站grimhelm.wordpress
  • 唐山哪里做网站网站开发进度确认单
  • 网站集约化建设 要求建设银行北京招聘网站