云原生容器Clouder认证:容器应用与集群管理

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
网络型负载均衡 NLB,每月750个小时 15LCU
可观测监控 Prometheus 版,每月50GB免费额度
简介: 云原生容器Clouder认证:容器应用与集群管理

云原生容器Clouder认证:容器应用与集群管理

基本概念

Kubernetes中涉及到的关键名词包含以下这些,他们重要但很抽象,建议您先记住这些名词和概念,在本课程中我们将结合后续实际操作步骤为您展开介绍。

  • Pod(容器组):Pod是一个逻辑概念,是一组紧密关联的容器的集合。
  • Controller(控制器):控制器通过控制循环监控集群状态,将当前状态转变为期望状态。控制器包含节点控制器、命名空间控制器、工作负载控制器等多种。
  • Workload(工作负载):工作负载是在 Kubernetes 上运行的应用程序,分为无状态、有状态、任务、定时任务等多种类型。
  • Service(服务):将运行在一个或一组Pod上的应用程序公开为网络服务的方法,是真实应用服务的抽象。
  • PV、PVC:PV是存储卷,是集群内的存储资源,PV独立于Pod的生命周期。PVC是存储卷声明,是资源的使用者。Pod挂载PVC,PVC消耗PV资源。
  • Namespace(命名空间):命名空间为容器集群提供虚拟的隔离作用。
  • etcd:etcd是一个分布式、一致且高可用的键值存储系统,通常被用作Kubernetes所有集群数据的后台数据库。

容器集群的管理节点

  • API Server:Kubernetes集群的统一服务入口,负责资源的认证、鉴权以及CRUD(增删改查)等操作,提供Restful API接口,提供其他模块之间数据交互和通信的枢纽,API Server接收客户端发起的控制资源对象的API请求,将期望状态存储到etcd中。
  • Controller Manager:所有资源对象的自动化控制中心,完成对集群内Node、Pod、Service等资源状态的管理,确保集群始终处于预期的工作状态;
  • Scheduler:Pod资源对象的调度服务。将待调度的 Pod 按照一定的调度算法和策略绑定到合适的Node节点上,并将绑定信息写入到 etcd 中;
  • etcd:是一个分布式的存储系统,所有Kubernetes资源对象的数据,都放置在 etcd 中,etcd 本身是一个高可用系统。

这里的工作负载就对应前面Kubernetes中工作负载 Workload的概念。工作负载通常有如下几种类型:

  • 无状态(Deployment):表示对Kubernetes集群的一次更新操作,用于运行完全独立、功能相同应用的场景。
  • 有状态(StatefulSet):支持应用部署、扩容、滚动升级时有序进行。如使用有状态来管理使用了持久存储的应用。
  • 任务(Job):它创建出来的Pod只要完成任务就立即退出,用于执行一次性任务。可以使用Job以并行的方式运行多个 Pod。
  • 定时任务(CronJob):它创建的Pod会周期性的执行,用于执行周期性任务。
  • 自定义资源(Custom Resource Definitions,CRD):可以通过CRD添加第三方工作负载资源。

工作节点是Kubernetes的工作负载节点,主要包含三个组件:kubelet、kube-proxy、Container Runtime。

  • kubelet:负责管理节点上容器的创建、删除、启停等任务,与管理节点通信。
  • kube-proxy:负责Kubernetes服务的通信及负载均衡服务。
  • Container Runtime:负责容器的基础管理服务,接收kubelet组件的指令。

实验过程

https://nasnext.console.aliyun.com/overview

NAS挂载点配置参数如下:

  • 挂载点类型:专有网络
  • VPC网络:clouder_attestation(10.0.0.0/8)
  • 交换机:K8S-02(10.0.1.0/24)
  • 权限组:VPC默认权限组(全部允许)

【操作注意】在文件系统列表页面如果看不到目标NAS资源,请注意页面左上方地域是否选择了华东1(杭州)。

创建ACK Serverless集群

https://cs.console.aliyun.com/
  • (顶部页签)集群版本:ACK Serverless集群(请注意不要选错!)
  • 集群名称:clouder-attestation
  • 集群规格:基础版
  • 地域:华东1(杭州)
  • 版本:1.22.15-aliyun.1
  • 专有网络:使用已有 - clouder_attestation
  • 虚拟交换机:勾选 K8S-01,K8S-02
  • 配置SNAT:勾选 为专有网络配置SNAT
  • API Server访问:默认 标准型I(slb.s2.small),勾选 使用EIP暴露API Server
  • 安全组:自动创建普通安全组
  • 其余均使用默认参数

通过镜像在集群中快速部署容器应用

依次定义存储卷如下:

  • 类型:NAS
  • 名称:wordpress-pv
  • 存储驱动:CSI
  • 总量:20Gi
  • 访问模式:ReadWriteMany
  • 选择挂载点:下拉框选择Clouder_Nas即可(之前步骤中已经创建的NAS挂载点)
  • 单击显示高级设置,在子目录后填入:/share/data
  • 版本:3

【操作注意】创建PV时一定要选择NAS的子目录,wordpress镜像会chown修改目录权限、属主和属组,而NAS的根目录/不允许修改权限、属主和属组,不指定子目录的话Pod会启动报错。

依次定义存储声明如下:

  • 类型:NAS
  • 名称:wordpress-pvc
  • 分配模式:已有存储卷;点击选择已有存储卷,选择 “wordpress-pv,20Gi”
  • 总量:20Gi

二、控制台进入创建应用页面

三、配置应用基本信息

1、配置应用基本信息如下:

  • 命名空间(页面顶部):default

  • 应用名称:wordpress

  • 副本数量:5
  • 类型:无状态(Deployment)

容器配置

1、已经提前准备好了wordpress容器应用镜像,保存在ACR镜像仓库中。点击镜像名称后的填写框,填入镜像仓库地址:

registry.cn-hangzhou.aliyuncs.com/wordpress_clouder/clouder-attestation-wordpress

2、点击镜像Tag后的选择镜像Tag按钮,选择标签V1,点击确定按钮。

registry.cn-hangzhou.aliyuncs.com/wordpress_clouder/clouder-attestation-wordpress

3、点击镜像拉取策略下拉按钮,选择优先使用本地镜像(IfNotPresent),所需资源后下拉框选择 CPU:1Core,内存:2GB

4、在端口设置中指定容器端口如下:

  • 名称:tcp-80
  • 容器端口:80
  • 协议:TCP

5、下拉页面到最下方数据卷部分,设置存储声明(PVC)。

注意:在选择镜像tag后,此处可能会自动增加一个临时目录类型的本地存储,因为我们需要持久化存储数据,所以此处将其删除。如果没有出现本地存储可以忽略,直接进行下一步。

设置存储声明(PVC),点击增加云存储声明,填写名称和容器路径。

填写信息如下:

  • 存储卷类型:云存储
  • 名称:wordpress-pvc
  • 挂载源:wordpress-pvc
  • 容器路径:/var/www/html

五、配置容器访问

【说明】要使应用被外界访问,我们可以创建服务(Service)为一组具有相同功能的容器应用提供一个统一的入口地址,并且可以将请求负载分发到后端的各个容器上。

1、在访问设置框里点击服务(Service)后的创建按钮,设置信息如下:

  • 名称:wordpress-svc
  • 类型:负载均衡,公网访问,新建SLB(简约型I slb.s1.small)
  • 外部流量策略:Cluster
  • 端口映射:
    • 名称:tcp-80(注意tcp要用英文字母小写)
    • 服务端口:80
    • 容器端口:80
    • 协议:TCP

点击创建,完成服务Service创建。

六、生成容器

1、点击右下角创建按钮部署应用,等待创建显示成功后点击查看应用详情。待容器组状态都为 Running 时创建成功。

获取RDS for Mysql相关信息

https://rdsnext.console.aliyun.com/

创建信息如下:

  • 数据库账号:wpadmin
  • 账号类型:普通账号
  • 新密码:Admin@123
  • 确认密码:Admin@123

点击确定,完成数据库账号创建。

点击 数据库管理,点击 创建数据库 按钮,在弹框页面依次填入名称和字符集UTF8,选择授权账号为上一步新建的账号,点击创建按钮进行创建。

创建信息如下:

  • 数据库名称:wordpress
  • 支持字符集:utf8
  • 授权账号:下拉框选择wpadmin

点击创建。

rm-bp1w819qa4v6lh7bd.mysql.rds.aliyuncs.com

rm-bp1sd6q503e0yk8wm.mysql.rds.aliyuncs.com

三、配置初始化页面

1、回到wordpress配置页面,将上一步中创建的数据库名称、账号密码、连接地址一次填入wordpress初始化页面,点击提交等待初始化。

  • Database Name:wordpress
  • Username:wpadmin
  • Password:Admin@123
  • DatabaseHost:上一步中获取的数据库连接内网地址

2、在弹出欢迎页上配置相关信息,点击Install Wordpress。

相关信息配置如下:

  • Site Title:clouder_attestation
  • Username:wpadmin
  • Password:Admin@123
  • Confirm Password:勾选
  • Your Email:123@123.com

3、配置完成后,点击Install Wordpress需等待片刻,回弹出Success页面,点击该页面Log In。

4、输入账号密码后进入如下控制台即部署成功

  • 账号:wpadmin
    • 密码:Admin@123
  1. 在集群中查看和管理应用

1、在远程桌面浏览器输入以下地址可以访问ACK Serverless集群的控制台。

https://cs.console.aliyun.com/

一、释放Prometheus监控大盘

在控制台最上方搜索框搜索 Prometheus,点击 可观测监控Prometheus版;或者在远程桌面浏览器中输入以下地址,进入Prometheus控制台。

https://prometheus.console.aliyun.com/

在左侧导航栏监控列表页面,找到对应实例名称后的卸载按钮进行卸载。

二、释放ACK Serverless集群

1、在实验远程桌面浏览器输入以下地址访问ACK Serverless集群的控制台。

https://cs.console.aliyun.com/

2、在左侧导航栏点击 集群,找到对应集群名称后的更多按钮,点击删除。

3、在弹出框勾选最下方三个选项,然后点击确定按钮。

ACK Serverless资源删除需要耗时 3~5 分钟,出现如下界面代表资源删除完成,请务必等资源删除完成后再结束实验。

相关文章
|
2月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
477 108
|
2月前
|
运维 监控 数据可视化
小白也能部署应用,3个免费的容器化部署工具测评
本文对比了三款容器化部署工具:Docker Compose、Portainer 和 Websoft9。Docker Compose 适合开发者编排多容器应用,Portainer 提供图形化管理界面,而 Websoft9 则面向中小企业和非技术人员,提供一键部署与全流程运维支持,真正实现“开箱即用”。三款工具各有定位,Websoft9 更贴近大众用户需求。
小白也能部署应用,3个免费的容器化部署工具测评
|
3月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
261 59
|
3月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
114 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
3月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
223 1
|
4月前
|
设计模式 开发者 UED
123. [HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 基础篇
在现代移动应用和平板应用中,侧边栏导航已经成为一种常见且实用的UI设计模式。HarmonyOS NEXT提供了专门的`SideBarContainer`组件来实现这一功能,它能够轻松创建可显示和隐藏的侧边栏布局,非常适合新闻阅读、电子商务、文件管理等应用场景。
112 3
123. [HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 基础篇
|
4月前
|
数据可视化 API UED
126. [HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 进阶篇
在基础篇中,我们已经实现了电商应用商品筛选侧边栏的基本布局和功能。在本篇教程中,我们将深入探讨如何通过状态管理和数据绑定,实现更加复杂的交互功能,提升用户体验。
86 2
126. [HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 进阶篇
|
4月前
|
UED 容器
125.[HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 基础篇
在现代电商应用中,商品筛选功能是提升用户购物体验的关键元素。HarmonyOS NEXT提供的`SideBarContainer`组件非常适合实现这类功能,它可以创建一个可显示和隐藏的侧边栏,用于放置各种筛选条件,帮助用户快速找到心仪的商品。
87 1
125.[HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 基础篇
|
4月前
|
UED 容器
124.[HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 进阶篇
在基础篇中,我们学习了如何使用HarmonyOS NEXT的`SideBarContainer`组件创建新闻阅读应用的基本侧边栏布局。本篇教程将深入探讨如何为新闻阅读应用添加更多交互功能和状态管理,提升用户体验。
94 1
124.[HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 进阶篇
|
6月前
|
运维 Cloud Native 测试技术
极氪汽车云原生架构落地实践
随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。

热门文章

最新文章