Docker容器技术配置、部署与应用工业和信息化精品系列教材——云计算技术项目8Kubernetes部署容器化应用程序人民邮电出版社
能力CAPACITY要求了解容器编排解决方案。掌握Kubernetes实验环境的搭建方法。了解Kubernetes,学会使用Kubernetes运行应用程序。掌握将容器化应用程序手动部署到Kubernetes集群的方法。掌握Kubernetes部署的应用程序的CI/CD实施方法。
任务8.2在Kubernetes集群中部署开发的应用程序任务8.1部署Kubernetes集群
任务8.1部署Kubernetes集群任务说明01OPTION02OPTION03OPTION了解容器编排解决方案了解Kubernetes的基础知识学会基于kind部署Kubernetes集群04OPTION初步学会在Kubernetes集群中运行并发布简单的应用程序
任务8.1部署Kubernetes集群知识引入8.1.1容器编排解决方案Docker局限性Docker只是容器化平台管理、扩缩、维护容器化应用需专业编排工具DockerSwarm优势Docker原生集群解决方案与Compose无缝集成,轻松部署到Swarm集群提供服务发现、负载均衡、自动扩展等基本功能适用于容器规模较小场景,与Docker无缝集成可最大化优势DockerSwarm局限性复杂度和封闭性限制发展Docker企业版被收购后,因公司倾向Kubernetes,面临淘汰
任务8.1部署Kubernetes集群知识引入8.1.1容器编排解决方案Kubernetes优势适用于生产环境企业级大规模容器集群谷歌推出,源于多年运维经验及社区创意拥有强大核心基础特性和独特生态云原生应用程序云计算主流服务形式可快速扩展的轻量级容器独立服务,属容器化应用Kubernetes应用场景主要应用于云架构和云原生部署可灵活部署于企业内部、私有云、混合云或公有云
任务8.1部署Kubernetes集群知识引入8.1.2Kubernetes集群的组成
任务8.1部署Kubernetes集群知识引入8.1.3Kubernetes集群的部署工具kubeadmkopskubespraykindminikube
任务8.1部署Kubernetes集群知识引入8.1.4Kubernetes的对象和资源
任务8.1部署Kubernetes集群知识引入8.1.5使用YAML文件描述应用程序配置文件概述Kubernetes对象由YAML格式配置文件(清单文件)描述文件定义应用程序组件和配置,指定对象预期状态用于在任何Kubernetes环境中创建和销毁应用程序运维任务编写配置文件并提供给Kubernetes实现资源自动编排
任务8.1部署Kubernetes集群知识引入8.1.5使用YAML文件描述应用程序必需字段YAML文件中apiVersion、kind、metadata和spec字段必需spec字段最重要,不同对象spec格式不同,包含不同嵌套字段版本注意不同版本下,apiVersion字段值有所不同status字段不需要在YAML文件中定义,由Kubernetes自动生成和维护记录对象当前实际状态,Kubernetes控制平面管理对象状态使其达到期望状态
任务8.1部署Kubernetes集群知识引入8.1.6Kubernetes对象管理方法指令式命令适用于项目开发阶段,或在Kubernetes中运行一次性任务,简单易用指令式对象配置适用于生产项目,通过代码管理系统进行管理,可以与流程集成声明式对象配置适用于生产项目,但使用难度较高,难以调试
任务8.1部署Kubernetes集群任务8.1.1基于kind部署Kubernetes集群了解kind任务实现
任务8.1部署Kubernetes集群任务8.1.1基于kind部署Kubernetes集群准备安装环境安装kind[$(uname-m)=x86_64]curl-Lo./kindhttps://kind.sigs.k8s.io/dl/v0.22.0/kind-linux-amd64#下载kind二进制文件chmod+x./kind#赋予可执行权限mv./kind/usr/local/bin/kind#将kind移动到系统全局路径/usr/local/bin安装kubectlcurl-LOhttps://dl.k8s.io/release/v1.29.2/bin/linux/