kubernetes入门知识

作者:卫珍佑 于 2020年05月20日 发布在分类/ K8S

什么是kubernetes

工业级容器编排平台,主要提供服务的部署、弹性、管理

Kubernetes源于希腊语,中文意思“舵手”或者“飞行员”

k8s,省略中间8个ubernete替换为8,而得来k8s

kubernetes有哪些核心功能

服务发现和负载均衡

服务自动装箱

容器存储编排
容器故障恢复

自动发布和回滚
配置和密钥存储

服务水平伸缩

任务批量执行
kubernetes架构

如果把docker容器比作集装箱的的话,其作用是打包应用程序及依赖的相关插件和库文件,那么kubernetes就好比是一个码头,

它需要设施完善、功能齐全,来管理这些集装箱,如何“摆放”才能合理的有效的使用码头这是它来完成的任务。


1,用户通过api接口、UI、或者命令行向master上的API-Server发送指令

2,kube-scheduler组件监听APIServer的资源变动,同时从node节点中选取最合适的node节点进行调度,并把调度 结果保存在Etcd中。

3,Node节点的 Kubelet也会监听 API-Server 的变动,并在符合的 node 上通过 kubelet 调用相关的 docker 引擎进行后续打包和部署。

Master节点的主要组件:

Master 节点又称为控制平面,主要包括kube-apiserver、kube-scheduler、kubecontroller-manager和Etcd四个组件

Kube-apiserver

是一个将kubernetes控制平面中的API暴露出来的API服务,用于接收用户端的操作请求,此服务是kubernetes控制平面的前端

Kube-scheduler

用于watch(监听)apiserver的资源变动(增删改查),并调度至合适的后端node节点,从而来创建资源。

kube-controller-manager

每个控制器都是独立的二进制程序,包括Node ControllerReplication ControllerEndpoints ControllerService Accounttocken controllers

Etcd

      高可用的、 KV 结构的 kubernetes 后端数据存储组件


Node节点的主要组件:

Node节点 又称为数据平面,主要包括 kubelet  kube-proxy  container Runtime 三个组件

Ø  Kubelet

运行在集群内的每个节点,需要确保相关容器运行在pod中,通过podspecs标签描述容器的运行状态

Ø  Kube-proxy

     运行在集群内每个节点的网络代理插件

Ø  Container Runtime

     支持运行容器底层环境的组件,支持docker、containerd、cri-o、rktlet等


Kubernetes三个核心资源对象

Ø Pod

Pod是k8s运行容器化应用及调度的最小单元,同一个pod中可以运行多个容器

Ø Deployment

最常见的无状态应用控制器,支持应用的扩缩容、滚动更新等操作

Ø Service

为弹性pod提供了固定的访问接口,用于服务发现和服务访问


分享到朋友圈 分享到微信
发表评论
验证码