作者 | 邓青琳(轻零) 阿里云技术专家

导读:本文分为三个部分,首先给大家演示 Serverless Kubernetes 集群的创建和业务应用的部署,其次介绍 Serverless Kubernetes 的常用功能,最后对应用扩缩容的操作进行探讨。

集群创建及应用部署

1. 集群创建

在对 Serverless Kubernetes 的基础概念有了充分了解之后,我们直接进入容器服务控制台(https://cs.console.aliyun.com/#/authorize)进行集群的创建。

在创建页面,主要有三类属性需要选择或填写:

  • 集群创建的地域和 Kubernetes 的版本信息;
  • 网络属性:可以选择容器服务自动创建或者指定已有的 VPC 资源;
  • 集群能力和服务:可以按需选择。

属性完成后,点击“创建集群”即可,整个创建过程需要 1~2 分钟的时间。

2. 应用部署

集群创建完成后,接下来我们部署一个无状态的 nginx 应用,主要分成三步:

  • 应用基本信息:名称、POD 数量、标签等;
  • 容器配置:镜像、所需资源、容器端口、数据卷等;
  • 高级配置:服务、路由、HPA、POD 标签等。

创建完成后,在路由中就可以看到服务对外暴露的访问方式了。

如上图所示,在本地 host 绑定 ask-demo.com 到路由端点 123.57.252.131 的解析,然后浏览器访问域名,即可请求到部署的 nginx 应用。

常用功能介绍

我们一般会通过容器服务控制台和 Kubectl 两种方式,来使用 Serverless Kubernetes 的常用功能。

1. 容器服务控制台

在容器服务控制台上,我们可以进行以下功能的白屏化操作:

  • 基本信息:集群 ID 和运行状态、API Server 端点、VPC 和安全性、集群访问凭证的查看和操作;
  • 存储卷:PV、PVC、StorageClass 的查看和操作;
  • 命名空间:集群 namespace 的查看和操作;
  • 工作负载:Deployment、StatefulSet、Job、CronJob、Pod 的查看和操作;
  • 服务:工作负载提供出的 Service 的查看和操作;
  • 路由:Ingress 的查看和操作,用来路由 Service;
  • 发布:对基于 Helm 或者容器服务分批发布的任务进行查看和操作;
  • 配置管理:对 ConfigMap 和 Secret 的查看和操作;
  • 运维管理:集群的事件列表和操作审计。

2. Kubectl

除了通过控制台,我们还可以基于 Kubectl 来进行集群操作和管理。

我们可以在云端通过 CloudShell 来使用 Kubectl,也可以在本地安装 Kubectl,然后通过将集群的访问凭证写入到 kubeconfig 来使用 Serverless Kubernetes 。

应用弹性伸缩

通过上面的内容讲解,我们已经了解了应用的部署和集群的常用操作,下面为大家介绍一下如何为应用做扩缩容操作。

在 Serverless Kubernetes 中常用的应用扩缩容方式包括:

  • 人工扩缩容:最为原始的方式,在成本和应用稳定性上均有一定程度的牺牲;
  • HPA(Horizontal Pod Autoscaler):根据 Cpu 和 Memory 等指标来弹性伸缩,适合有突发流量场景的应用;
  • Cron HPA :根据 Cron 表达式来定期伸缩,适合有固定波峰波谷特性的应用;
  • External Metrics(alibaba-cloud-metrics-adapter):阿里云指标容器水平伸缩,在原生 HPA 的基础上支持更多的数据指标。

结语

以上就是 Serverless Kubernetes 应用部署及扩缩容的全部分享,希望通过这次分享能够帮助大家更好地入门和使用 Serverless Kubernetes,后续也将会有更多的 Serverless Kubernetes 的实践案例分享给大家。

从零入门 Serverless | Serverless Kubernetes 应用部署及扩缩容的更多相关文章

  1. Airbnb的动态kubernetes集群扩缩容

    Airbnb的动态kubernetes集群扩缩容 本文介绍了Airbnb的集群扩缩容的演化历史,以及当前是如何通过Cluster Autoscaler 实现自定义扩展器的.最重要的经验就是Airbnb ...

  2. Kubernetes 监控:Prometheus Adpater =》自定义指标扩缩容

    使用 Kubernetes 进行容器编排的主要优点之一是,它可以非常轻松地对我们的应用程序进行水平扩展.Pod 水平自动缩放(HPA)可以根据 CPU 和内存使用量来扩展应用,前面讲解的 HPA 章节 ...

  3. kubernetes命令式容器应用编排/部署应用/探查应用详情/部署service对象/扩缩容/修改删除对象

    部署Pod应用 创建delpoyment控制器对象 [root@master ~]# kubectl run myapp --image=ikubernetes/myapp:v1 --port=80 ...

  4. kubernetes实现用户自定义扩缩容

    本文章主要参考walkthrough,aggregation和auth.涉及custom metric API的注册认证以及API server aggregation的相关知识.walkthroug ...

  5. Kubernetes 上部署应用-- 以Wordpress 为例

    用一个 Wordpress 示例来尽可能将前面的知识点串联起来,我们需要达到的目的是让 Wordpress 应用具有高可用.滚动更新的过程中不能中断服务.数据要持久化不能丢失.当应用负载太高的时候能够 ...

  6. Kubernetes环境部署

    简介 Kubernetes 是一个开源系统,用于容器化应用的自动部署.扩缩和管理.它将构成应用的容器按逻辑单位进行分组以便于管理和发现.   配置镜像源 Debian / Ubuntu apt-get ...

  7. docker微服务部署之:七、Rancher进行微服务扩容和缩容

    docker微服务部署之:六.Rancher管理部署微服务 Rancher有两个特色用起来很方便,那就是扩容和缩容. 一.扩容前的准备工作 为了能直观的查看效果,需要修改下demo_article项目 ...

  8. Kingbase V8R6集群安装部署案例---脚本在线一键缩容

    ​ 案例说明: KingbaseES V8R6支持图形化方式在线缩容,但是在一些生产环境,在服务器不支持图形化界面的情况下 ,只能通过脚本命令行的方式执行集群的部署或在线缩容. Tips: Kingb ...

  9. 从零入门 Serverless | 教你使用 IDE/Maven 快速部署 Serverless 应用

    作者 | 许成铭(竞霄) 阿里云开发工程师 SAE 应用部署方式 1. SAE 概述 首先,简单介绍一下 SAE.SAE 是一款面向应用的 Serverless PaaS 平台,支持 Spring C ...

随机推荐

  1. vue@cli3 public目录下的静态图片,如何使用在css类文件中(sass可行,纯css不行)

    之前写了一篇vue文件怎么使用的文章,有人问我怎么在css文件中使用public下的文件,这是个好问题,因为我之前都没有研究过 需要解决的2个问题 一开始按照vue文件的使用方式(https://ww ...

  2. Git (13) -- Git 分支 -- 分支的新建与合并

    @ 目录 0.准备工作 1.新建分支 一个简单提交历史: 创建一个新分支指针: iss53 分支随着工作的进展向前推进: 基于 main 分支的紧急问题分支 hotfix branch: main 被 ...

  3. LeetCode入门指南 之 回溯思想

    模板 result = {} void backtrack(选择列表, 路径) { if (满足结束条件) { result.add(路径) return } for 选择 in 选择列表 { 做选择 ...

  4. Pulsar の 保证消息的顺序性、幂等性和可靠性

    原文链接:Pulsar の 保证消息的顺序性.幂等性和可靠性 一.背景 前面两篇文章,已经介绍了关于Pulsar消费者的详细使用和自研的Pulsar组件. 接下来,将简单分析如何保证消息的顺序性.幂等 ...

  5. MySQL——SQL语句入门

    1.DDL: 数据库定义语言 定义对象:库.表 何为定义: 库的定义: 创建 删除 修改---->修改本身以及库中的对象(表.视图.函数.触发器...) 表的定义: 创建---->定义表的 ...

  6. appnium显式等待机制

    强制等待: sleep不推荐全局隐式等待 全局隐式等待: 在服务端等待 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); ...

  7. (三、四)Superset 1.3图表篇——透视表-Pivot Table

    本系列文章基于Superset 1.3.0版本.1.3.0版本目前支持分布,趋势,地理等等类型共59张图表.本次1.3版本的更新图表有了一些新的变化,而之前也一直没有做过非常细致的图表教程. 而且目前 ...

  8. Git:git commit时退出报错解决(Error45、Error325)

    Git 报错 在输入git commit编辑注释日志时强制退出git程式,文件会变成只读文件,于是出现下述报错: 解决方法(ERROR45) 我们提交代码的正常操作流程一般是: 输入git commi ...

  9. RIAD配置

    一.RIAD 磁盘阵列介绍 二.阵列卡介绍 三.案例举例   一.RAID磁盘阵列介绍 是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列 把 ...

  10. crontab 语法和最快速的学习

    1.Cron 时间表语法 # ┌───────────── 分钟 (0 - 59) # │ ┌───────────── 小时 (0 - 23) # │ │ ┌───────────── 月的某天 ( ...