我是靠谱客的博主 执着河马,最近开发中收集的这篇文章主要介绍第1课 k8s概述1 什么是k8s2 为什么要用k8s3 k8s的构成,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 1 什么是k8s
  • 2 为什么要用k8s
  • 3 k8s的构成
    • 3.1 Control Plane
      • 3.1.1 kube-api server
      • 3.1.2 kube-controller-manager
      • 3.1.3 cloud-controller-manager
      • 3.1.4 kube-scheduler
      • 3.1.5 etcd
    • 3.2 Node
      • 3.2.1 kubelet
      • 3.2.2 kube-proxy
      • 3.2.3 Container Runtime
    • 3.3 内部插件
    • 3.4 外部工具

1 什么是k8s

Kubernetes是Google在2014年开源的一个容器集群管理系统, Kubernetes简称K8s。
Kubernetes用于容器化应用程序的部署, 扩展和管理,目标是让部署容器化应用简单高效。

2 为什么要用k8s

初学k8s,很多人都可能有这个疑问:有了docker,为什么还要用k8s?
答案是,企业需求:为提高业务并发和高可用,会使用多台服务器,因此会面向这些问题:

  • 多容器跨主机如何提供服务?
  • 多容器如何分布式部署到节点?
  • 多主机多容器怎么升级?
  • 怎么高效管理这些容器?

为了解决上述问题,自然而然地产生了容器编排工具。先后有:Kubernetes、Swarm、Mesos Marathon。历经数年的竞争,现在Kubernetes已经成为事实的赢家,成为大家的首选。

现如今,Kubernetes 是为数不多的能够成长为基础技术的技术之一,就像 Linux、OS 虚拟化和 Git一样成为各自领域的佼佼者。简单来说,Kubernetes是如今所有云应用程序开发机构能做出的最安全的投资,如果运用得当,它可以帮助大幅提升开发和交付的速度以及质量。

3 k8s的构成

k8s是谷歌公司开源的产品,其架构借鉴了谷歌内部先前的容器编排系统Borg的设计。主要由 Master 和 Node 共同组成。我们需要注意 Master 和 Node 两个概念。其中 Master 是控制节点,部署着 Kubernetes 的控制面(Control Plane),负责整个集群的管理和控制。Node 为计算节点,或者叫作工作负载节点,每个 Node 上都会运行一些负载容器。
在这里插入图片描述

3.1 Control Plane

3.1.1 kube-api server

API 服务器,集群的统一入口,各组件协调者,以RESTfulAPI提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交etcd进行存储。

3.1.2 kube-controller-manager

控制管理器,处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的。

3.1.3 cloud-controller-manager

云控制器管理器,是指嵌入特定云的控制逻辑的 控制平面组件。 云控制器管理器使得你可以将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。

3.1.4 kube-scheduler

调度器,根据调度算法为新创建的Pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上。

3.1.5 etcd

分布式键值存储系统。用于保存集群状态数据,比如Pod、Service等对象信息。
garbage collection

3.2 Node

3.2.1 kubelet

kubelet是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等工作。

3.2.2 kube-proxy

在Node节点上实现Pod网络代理,维护网络规则和负载均衡工作。

3.2.3 Container Runtime

容器运行环境是负责运行容器的软件。Kubernetes 支持多个容器运行环境: Docker、 containerd、cri-o,podman以及任何实现 容器运行环境接口的容器软件.

3.3 内部插件

我们常常在k8s集群内部署Dashboard、DNS服务器等组件以提高集群的可用性。

3.4 外部工具

Kubectl是一个最常用的k8s命令行工具管理。我们常用它与k8s打交道,作为操作k8s的入口。

最后

以上就是执着河马为你收集整理的第1课 k8s概述1 什么是k8s2 为什么要用k8s3 k8s的构成的全部内容,希望文章能够帮你解决第1课 k8s概述1 什么是k8s2 为什么要用k8s3 k8s的构成所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部