云原生之下,视频云业务的10大实践经验分享(谈谈使用云服务的经验)
673
2022-05-29
第三章 Kubernetes系统快速入门
1.kubernetes介绍
云计算的发展历程
“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性经常被称为像水电一样使用IT基础设施。
kubernets概览
模型对象
1.Pod 能够创建、调度和管理最小部署单元
2.Service 一个Pod的逻辑集合和访问这个集合的策略
3.Deployment 无状态工作负载 StatefulSet 有状态工作负载
...
增删改查 apiserver
功能组件 Master: apiserver Scheduler Controller Manager
Node: Kubelet Kube-proxy
功能特性: Pod调度 部署启动 运行监控 服务发现 升级运维 扩容缩容
关键概念-Pod
在Kubernetes中,Pods是能够创建、调度、和管理的最小部署单元,是一组容器的集合, 而不是单独的应用容器。
同一个Pod里的容器共享同一个网络命名空间,IP地址及 端口空间。
从生命周期来说,Pod是短暂的而不是长久的应用。Pods被调度到节点,保持在这个节点上直到被销毁。
POD实例:
{
"kind": "Pod",
"apiVersion": "v1",
"metadata": {
"name": "redis-django",
"labels":{
"app": "webapp"
}
},
"spec":{
"containers": [
{
name": "key-value-store",
"image": "redis"
},
{
"name": "frontend",
"image": "django"
}
]
}
}
Pod详解-容器(Containers)
Infrastructure Container:基础容器
1.用户不可见,无需感知
2.维护整个Pod网络空间
InitContainers:初始化容器,一般用于服务等待处理以及注册Pod信息等
1.先于业务容器开始执行
2.顺序执行,执行成功退出(exit0) ,全部执行成功后开始启动业务容器
Containers:业务容器(Tomcat,nginx等)
并行启动,启动成功后一直Running
容器基本组成:
镜像部分: 镜像地址和拉取策略 拉取镜像的认证凭据
启动命令:
command:替换docker容器的entrypoint
args: 作为docker容器entrypoint的入参
计算资源:
请求值:调度依据
限制值:容器最大能使用的规格
Pod详解-外部输入
Pod可以接收的外部输入方式:环境变量、配置文件以及密钥。
环境变量:使用简单,但一旦变更后必须重启容器。
Key-value 自定义 From 配置文件(configmap) From密钥(Secret)
以卷形式挂载到容器内使用,权限可控。 配置文件(configmap) 密钥(secret)
Pod与工作负载的关系
通过label-selector和owerReference 相关联
Pod 通过工作负载实现应用的运维,如伸缩、升级等
关键工作负载-ReplicaSet
ReplicaSet-----副本控制器
确保Pod的一定数量的份数(replica)在运行。如果超过这个数量,控制器会杀死一些,如果少了,控制器会启动一些。
ReplicaSet用于解决pod的扩容和缩容问题(HA,工作负载等)
通常用于无状态应用
关键工作负载--Deployment
Kubernetes Deployment提供了官方的用于更新Pod和Replica Set (下一代的Replication Controller)的方法,您可以在Deployment对象中只描述您所期望的理想状态(预期的运行状态),Deployment控制器为您将现在的实际状态转换成您期望的状态;
Deployment集成了上线部署、滚动升级、创建副本、暂停上线任务,恢复上线任务,回滚到以前某一版本(成功/稳定)的Deployment等功能,在某种程度上,Deployment可以帮我们实现无人值守的上线,大大降低我们的上线过程的复杂沟通、操作风险。
Deployment的典型用例:
1.使用Deployment来启动(上线/部署)一个Pod或者ReplicaSet
2.检查一个Deployment是否成功执行
3.更新Deployment来重新创建相应的Pods(例如,需要使用一个新的Ilmage).
4.如果现有的Deployment不稳定,那么回滚到一个早期的稳定的Deployment版本
users:命令行,接口为主
master:
etcd 保存了整个集群的状态;
apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;
controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
考虑HA或多活会有多个master,非实验环境下node都会有很多
Kubernetes Controllers
Kubernetes的Default scheduler
为 pod 找到一个合适的 Node
Default scheduler 基于列队的调度器,一次调度一个pod,调度时刻全局最优
第四章 Kubernetes集群管理
1.Kubernetes集群生命周期管理介绍
1.kubernetes集群的部署形态
自建模式:需要用户管理,可操作性最大,k8s用户节点,k8s控制平面,k8s对接云服务和集群管理对接基础设施
托管模式(CCE):需要管理业务和k8s用户节点,聚焦于业务
Serverless模式(CCI):只需要管理业务。
kubernetes集群-常见部署方式
本地服务器:minikube,本地开发调试
自备服务器:kubeadm,kops,kubespray ,第三方托管,需要动手,学习
云服务CCE:容器平台集群管理 + 云基础设施
云服务CCI:容器平台serverless——云基础设施——服务器。
Kubernetes部署工具:https://kubernetes.io/zh/docs/setup/production-environment/tools/
Turnkey 云解决方案:https://kubernetes.io/zh/docs/setup/production-environment/turnkey-solutions
1.高可用(满足业务容灾需求)2.弹性伸缩(满足动态资源需求)3.安全和权限管理(满足组织权限管理需求)
自建与运维k8s集群优点是高灵活性,可定制开发。缺点是重资产,高投入,运维成本高,跨云迁移困难。(推荐开发者学习)
使用CNCF认证k8s容器平台优点是轻资产,低投入,运维成本低,跨云迁移方便。缺点是灵活性较低,迭代依赖云产商。(企业生产)
Kubernetes生产环境:Kubernetes 文档 入门 生产环境
CCE集群:控制平面托管,深度对接云基础设施,云原生全栈
云容器引擎与其他云服务的关系
https://support.huaweicloud.com/productdesc-cce/cce_productdesc_0008.html
集群概述:云容器引擎 CCE > 用户指南> 集群管理> 集群概述
生命周期:https://support.huaweicloud.com/usermanual-cce/cce_01_0005.html
cce集群网络规划实践:https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00004.html
2.Kubernetes节点生命周期介绍
业务负载(POD)是资源的消费者
节点(Node)是业务负载的载体
云产商(Provider)是基础资源的生产者
通过节点池管理集群节点资源
节点池:集群中具有相同配置的一组节点,一个节点包含一个节点或多个节点
CCE集群中支持多种方式添加节点:
节点管理:创建节点(通过CCE创建服务器)
节点管理:纳管节点(已创建的服务器)
节点池管:更新期望节点数
默认节点池:创建节点、纳管节点 节点池:节点池节点
购买集群:https//suport.huaweicloud.com/usermanual-cce/cce_01_0298.html
小结:
1.了解Kubernetes节点的基本概念
2.了解CCE集群中扩容节点的3种方式
3.演示:使用节点池管理快速地扩容节点资源
4.初步了解了Kubernetes集群的组件
5.初步了解了集群常见的部署形态和方式
6.以华为云CCE服务为例,初步了解了如何通过云容器平台快速搭建Kubernetes集群、添加Node节点。
节点概述:https://support.huaweicloud.com/usermanual-cce/cce_01_0180.html
购买节点: https://support.huaweicloud.com/usermanual-cce/cce_01_0033.html
节点池概述: https://support.huaweicloud.com/usermanual-cce/cce_01_0081.html
创建节点池: https://support.huaweicloud.com/usermanual-cce/cce_01_0012.html
管理节点池: https://support.huaweicloud.com/usermanual-cce/cce_01_0222.html
Kubernetes 云容器引擎 CCE 容器
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。