目录

关于k8s和容器的讨论

关于k8s和容器的讨论

随着计算机系统日益庞大和业务系统日益复杂,对集群系统的统一化操作变得日益重要。远古时期,计算机系统的业务处理,数据库,备份等等操作都在一台物理服务器上,开发人员的职责除了开发任务外,还包含运营维护。程序除了bug,开发人员修改部署更新,数据库数据表越来越大,需要上主从备份,开发人员也掳袖子上马。但随着用户量、数据量的增长,业务系统的物理承载也不再是一台高性能服务器所能支撑的了,于是反向代理、CDN、海量数据库、微服务等概念开始被提出来。而支撑这些概念运作的物理服务器数量也由5台,10台服务器,扩展到200台,400台物理服务器,试想下其中50台服务器要对外提供微服务,这是某项微服务的APi处理逻辑出现bug,需要人员更新部署,这是如果我们选择一台一台服务器ssh登陆,更新重启,不但费时费力,而且万一手抖,打错了ip,进错了服务器,就有可能把业务系统搞挂了。这时如果能有一个主程序负责更新维护下发各种操作任务给所有分服务器,这将极大简化部署更新工作,而K8S就是基于docker上负责这方面工作的程序包。

学究气些讲,Kubernetes是一个基于容器技术的分布式系统支撑平台。是Google开源的容器集群管理系统。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。并且具有完备的集群管理能力,多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。

啥是Minikube,Kubectl,Kubelet

Minikube 是一个用于在本地计算机上运行单节点 Kubernetes 集群的工具。它非常适合开发人员和测试人员使用,允许在没有复杂集群环境的情况下,快速启动和管理 Kubernetes 集群。Minikube 提供了一个简化的 Kubernetes 环境,帮助开发人员测试和调试容器化应用,而无需依赖完整的生产环境。

Kubectl 是 Kubernetes 的命令行工具(CLI),用于与 Kubernetes 集群进行交互。通过 Kubectl,用户可以执行各种管理操作,如部署应用、查看和修改集群状态、调试应用和管理资源等。Kubectl 提供了强大的命令集,支持用户以脚本化的方式进行批量操作和自动化管理,是 Kubernetes 管理的核心工具。

Kubelet 是 Kubernetes 中的一个重要组件,作为每个节点上的代理服务运行。它负责管理节点上的容器,确保它们按照预期运行,并与 Kubernetes 主节点进行双向通信。Kubelet 定期报告容器状态,执行来自主节点的指令,如启动、停止或更新容器。它是节点与 Kubernetes 集群之间的桥梁,确保集群中的各个部分能够有效协作。

Kubernetes 的核心组件和概念

在 Kubernetes 中,有几个核心组件和概念是至关重要的,这些组件和概念共同构成了 Kubernetes 的强大功能:

Pod:Pod 是 Kubernetes 中最小的可部署单元,它包含一个或多个容器。Pod 提供了一个共享的网络和存储环境,容器在同一个 Pod 内部运行时,能够共享这些资源。Pod 是容器调度和管理的基本单元。

Service:Service 是 Kubernetes 用于暴露 Pod 的机制,它提供了一个稳定的接口来访问一组 Pod。通过 Service,用户可以在不考虑 Pod 动态变化的情况下,访问和负载均衡服务请求。

Deployment:Deployment 是 Kubernetes 中用于声明和管理应用程序的机制。它负责应用程序的滚动更新、回滚和扩缩容操作。Deployment 确保指定数量的 Pod 副本始终处于运行状态,并且可以根据需求自动调整副本数量。

ConfigMapSecret:ConfigMap 和 Secret 用于管理配置信息和敏感数据。ConfigMap 用于存储非敏感的配置信息,而 Secret 用于存储密码、令牌等敏感信息。它们允许将配置信息与应用程序代码分离,使得配置管理更加灵活和安全。

Kubernetes 的优势

Kubernetes 的优势不仅在于其强大的功能,还在于其灵活性和可扩展性。它可以帮助企业实现更高效的资源利用、更快速的应用交付、更可靠的故障恢复和更灵活的资源管理。通过 Kubernetes,企业能够在云环境、数据中心或混合环境中管理容器化应用,实现跨平台的一致性和高可用性。

Kubernetes 的广泛应用和社区支持也促进了其生态系统的不断发展。许多第三方工具和扩展与 Kubernetes 集成,进一步增强了其功能,如监控、日志管理、安全性和自动化运维等。通过这些工具,企业可以更好地满足特定的业务需求,优化运维流程,提升整体系统的效率和稳定性。