作为一个工作十余年,拥有比较丰富的计算机网络运维、主机运维、云计算平台运维、自动化运维开发经验的老鸟,我来说说我当初刚接触Kubernetes时的一些感受以及学习技巧。
刚开始学习k8s时,我觉得挺难的,一头雾水,买了一本《Kubernetes权威指南》,真的很厚。我觉得作为应用开发人员的学习路线,不要想着一口气看完k8s的所有概念,要逐步学习,要看完这么厚的书,没有实战也很懵的。
我觉得比较合适的学习路线应该是:应用开发人员只需要先学很少的几个 Kubernetes 关键概念,比如 Pod、Service 和 Deployment,然后直接把精力放在如何把自己的应用部署上去,并着手研究部署到 Kubernetes 之后的各类场景化需求,再反过来去逐个学习 Kubernetes 的各项功能特性。
Kubernetes也称为K8S,其中8是代表中间“ubernete”的8个字符,是Google在2014年开源的一个容器编排引擎,用于自动化容器化应用程序的部署、规划、扩展和管理,它将组成应用程序的容器分组为逻辑单元,以便于管理和发现,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,很多细节都不需要运维人员去进行复杂的手工配置和处理;
通过Kubernetes你可以:
使用Web服务,用户希望应用程序能够7*24小时全天运行,开发人员希望每天多次部署新的应用版本。通过应用容器化可以实现这些目标,使应用简单、快捷的方式更新和发布,也能实现热更新、迁移等操作。使用Kubernetes能确保程序在任何时间、任何地方运行,还能扩展更多有需求的工具/资源。Kubernetes积累了Google在容器化应用业务方面的经验,以及社区成员的实践,是能在生产环境使用的开源平台。
从系统架构来看,k8s分为2种节点:
5.1.1、Master节点组成
5.1.2、Node节点的组成
从逻辑架构上看,k8s分为Pod、Controller、Service 。
5.2.1、POD
5.2.2、Controller
用来管理POD。控制器的种类有很多:
5.2.3、Service
理解三个不同的ip:NodeIP、CluterIP、POD IP。
Kubernetes 已经成为企业应用发 布 的 事 实 标 准 , 掌握Kubernetes 应用就掌握了企业应用发布的基础设施,由于其部署应用的便利性、可靠性、可扩展性等优点让更多的企业所青睐;
本阶段重点掌握Kubernetes 集 群 部 署 、Kubernetes 集群中核心概念理解及应用等。
Kubernetes 做为企业应用发布平台,有助于企业生产系统的快速部署,部署后需要让Kubernetes 集群之外的用户访问,本阶段使用 Ingress Nginx及 Traefik 实现 Kubernes 集群内服务暴露给集群之外的用户访问。
Kubernetes 集群容器镜像仓库管理方案有助于提升容器镜像应用效率;有助于为企业内部应用发布提供可靠的保障;更有助于为 Kubernetes 集群安全运行提供了有力保障。
Kubernetes 集群安全是应用部署环节中重要一环,通过对集群用户创建、角色绑定等实现Kubernetes 集群运行安全。
Kubernetes 集群网络解决方案可通过 Flannel、Calico、Canel等多种方案实现,本阶段重点掌握Flannel及Calico网络解决方 案 , 借 此 为 企 业 级 生 产Kubernetes 集群提供集群网络应用及故障排除方法等。
Kubernetes 做为新型企业 IT 基础设施平台,已经成为企业开发人员、运维人员、测试人员、安全人员、技术解决方案人员等应用发布平台的首选;把企业开发的应用能够正确在Kubernetes 集群之上运行起来,也是 Kubernetes 集群高水平应用的一种体现。
Kubernetes 集群做为新型IT基础设施平台,对其进行有效监控是有必要的,可以通过监控了解集群状态及集群资源使用情况,以便更好地管理以Kubernetes 为 IT 基础设施的资源调度平台。
Kubernetes 集群存储解决方案可以为在集群中运行的应用提供数据存储能力,无论是手动创建 PV 方式还是通过动态供给方式都可以为数据提供持久化的存储。通过学习本阶段可掌握 GlusterFS 及 Ceph 存储解决方案应用及运行维护、二开调用等。
企业级中间件是架构设计中用 于 解 耦 的 工 具 , 如 何 在Kubernetes 集群中部署或应用这些中间件呢?我们可以把云原生的中间件直接上云应用,通过本阶段学习,可掌握zookeeper 、 kafka 、 rocketmq 等各类中间件产品上云部署。
Kubernetes 集群由于部署应用的便利性、敏捷性被人们所接受,时至今日在众多厂商的推动下其已经演变为 PaaS 云平台 , 本 阶 段 主 要 介 绍Openshift、 Rancher 、Kubesphere 三 种 基 于 Kubernetes 集群的 PaaS 云平台。
Kubernetes 做为新型企业 IT 基础设施平台,已经成为企业开发人员、运维人员、测试人员、安全人员、技术解决方案人员等应用发布平台的首选;把企业 开 发 的 应 用 能 够 正 确 在Kubernetes 集群之上运行起来,也是 Kubernetes 集群高水平应用的一种体现;
如果你想通过自学的方式掌握Kubernetes,我可以把自己整理的教程笔记分享给你,里面不仅有k8s,还有Docker、DevOps、KubeSphere等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,大部分我都看过,感觉还不错,如果需要的话可以评论区告诉我。
如果觉得有帮助的话,可以帮我点赞收藏一下,写的不对或不清楚的地方,也欢迎大家在评论区指出,谢谢!