Kubernetes简介概念

384 阅读3分钟

这是我参与8月更文挑战的第25天,活动详情查看:8月更文挑战

kubernetes是什么

k8s是一套基于容器技术的分布式架构服务管理方案

所有服务之间独立隔离,使用k8s统一管理服务,实现系统监控、负载均衡等等.完整的实现一整套系统需要的环境搭建

为什么使用Kubernetes

全面拥抱微服务

支持将服务拆分出来导致服务量大,服务样大.且服务治理等问题.可以完美的使用kubernetes进行大量的服务管理

且kubernetes针对微服务提出很多概念来拥抱微服务,比如网关,比如副本复制等

复杂系统轻装上任

只需要一个架构设计、几个开发者实现业务、一个运维就能完成复杂的系统的建设.精进协同开发带来的一些问题等

系统搬迁更简单

可以形成副本从而更加方便的复制到需要部署的地方形成完整的服务体系

弹性扩容机制

可以在一些公有云上快速扩容某些Service来完成

在一些流量大的时机可以动态的完成自动租凭自动部署自动下线自动熔断的操作.

k8s的一些名词概念

Master

集群控制节点,每个k8s集群需要一个master来负责整个集群的管理和控制,基本上k8s所有控制命令都发给它.是k8s的“大脑”

掌握着三大进程

  • Kubernetes API Server (kube-apiserver),提供了Http rest的接口来实现k8s中所有资源的增删改查操作.
  • Kubernetes Controller Manager(kube-controller-manager),自动化控制中心,资源对象的后台管理系统
  • Kubernetes Scheduler(kube-scheduler),资源调度,比如一个node宕机,将其资源和流量从其中摘出来.

Node

k8s其他节点都称为node,会进行单点故障防灾处理,一旦某个node出现故障master会根据自动算法或者自定义的策略将pod调度到指定的node上工作

关键进程包括

  • kubelet 针对pod进行创建和停止等操作
  • kube-proxy实现Kubernetes Service的通信与负载均衡机制的 重要组件。
  • Docker Engine,负责该node下所有容器的管理操作

pod

最小的管理元素,一个容器环境下的“逻辑主机”.一个pod具有独立的资源管理和网络服务.一个Pod是由多个相关的并且共享磁盘的容器组成.

比如一个支付服务,需要springBoot项目、tomcat服务、mysql服务等等,这些都专属于这个支付服务来使用,所以这些可以组成一个pod

Kubernetes为每个Pod都分配了唯一的IP地址

Labels

标签可以用来划分特定组的对象(比如,所有女的)

标识在pod上,比如一些pod上全部都是数据库,那么可以表示这些是一个数据库集群