对kubernetes的认识

萝らか妹 提交于 2021-02-02 11:55:51

一、k8s是什么?

Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务,通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。

二、基本概念理解:

1、master:管理整个的调度流程。

1.1API Server:是master与node交互的接口,同时此接口也是面向用户的(用户指令)。

                1.1.1kubectl:集群管理命令行工具集,kube指令。

        1.1.2RestAPI:接口,配置文件。

        1.1.3WebUI:可操作的图形化界面。        

1.2Controller-Manager:内部管理控制中心,实现集群故障检测和恢复的自动化工作,负责执行各种控制器。

1.3Scheduler:收集和分析当前集群中所有Node节点的资源(内存、CPU)负载情况,然后依此分发新建的Pod到Kubernetes集群中可用的节点。

1.4ETCD:数据库,存数据以及节点的状态 。

备注:Controller-Manager+Scheduler:相互调度,基于ECTD数据库的数据,生成指令,下发给node,再记录到ETCD。

2、node:worker一般会有多个 。

2.1kubelet:master API Server与Nod的通信桥梁,节点上的pod管家。

2.2kube-proxy:创建虚拟网卡,负载均衡、路由转发。

2.3docker 必须安装docker 环境。

三、k8s的关键特性:

  • 自动化装箱:在不牺牲可用性的条件下,基于容器对资源的要求和约束自动部署容器。同时,为了提高利用率和节省更多资源,将关键和最佳工作量结合在一起。
  • 自愈能力:当容器失败时,会对容器进行重启;当所部署的Node节点有问题时,会对容器进行重新部署和重新调度;当容器未通过监控检查时,会关闭此容器;直到容器正常运行时,才会对外提供服务。
  • 水平扩容:通过简单的命令、用户界面或基于CPU的使用情况,能够对应用进行扩容和缩容。
  • 服务发现和负载均衡:开发者不需要使用额外的服务发现机制,就能够基于Kubernetes进行服务发现和负载均衡。
  • 自动发布和回滚:Kubernetes能够程序化的发布应用和相关的配置。如果发布有问题,Kubernetes将能够回归发生的变更。
  • 保密和配置管理:在不需要重新构建镜像的情况下,可以部署和更新保密和应用配置。
  • 存储编排:自动挂接存储系统,这些存储系统可以来自于本地、公共云提供商(例如:GCP和AWS)、网络存储(例如:NFS、iSCSI、Gluster、Ceph、Cinder和Floker等)。

四、k8s的常用命令

1.查看集群信息:

kubectl cluster-info

2.查看各组件的信息:

kubectl -s http://localhost:8080 get componentstatuses

3.查看节点信息:

kubectl get nodes

4.创建文件信息:

kubectl create -f 文件名

5.查看rc和namespace:

kubectl get rc,namespace

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!