kube -apiserver遵循横向扩展架构,是主节点控制平面的前端。将公开Kubernetes主节点组件的所有API,并负责在Kubernetes节点和Kubernetes主组件之间建立通信。ku
kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重要组件; kube-proxy负责为Pod创建代理服
Kubernetes控制节点组件:kube-controller-managerkube-apiserverkube-schedulerKubernetes工作节点组件:kubelet和kube-pr
1、同Pod内的容器:同一个Pod的容器共享同一个网络命名空间可以直接进行通讯2、同Node内不同Pod的容器:多个Pod都关联在同一个Docker0网桥上,通过docker0网桥完成相互通讯。3、不
1. etcd保存了整个集群的状态;2. apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;3. controller manager
这是一个代理服务,它在每个节点上运行,并使从服务器与主服务器通信。因此,Kubelet处理PodSpec中提供给它的容器的描述,并确保PodSpec中描述的容器运行正常。可以创建pod、删除pod
Kubectl是一个平台,可以使用该平台将命令传递给集群。因此,它基本上为CLI提供了针对Kubernetes集群运行命令的方法,以及创建和管理Kubernetes组件的各种方法。
跨主机的容器都需要相互通信。因此,要做到这一点,你需要一些能够负载平衡,扩展和监控容器的东西。由于Kubernetes与云无关并且可以在任何公共/私有提供商上运行,因此可以简化容器化部署程序。
Helm 是 Kubernetes 的软件包管理工具。类似 Ubuntu 中使用的apt、Centos中使用的yum 或者Python中的 pip 一样。Helm能够将一组K8S资源打包统一管理, 是
Kubernetes集群联邦可以将多个Kubernetes集群作为一个集群进行管理。因此,可以在一个数据中心/云中创建多个Kubernetes集群,并使用集群联邦在一个地方控制/管理所有集群。
由于Kubernetes节点运行大量Pod,因此在进行关机维护之前,建议先使用kubectl drain将该节点的Pod进行驱逐,然后进行关机维护。
在Kubernetes集群环境中,通常一个完整的应用或服务涉及组件过多,建议对日志系统进行集中化管理,通常采用EFK实现。EFK是 Elasticsearch、Fluentd 和 Kibana 的组合
在Kubernetes从1.10版本后采用Metrics Server作为默认的性能数据采集和监控,主要用于提供核心指标(Core Metrics),包括Node、Pod的CPU和内存使用指标。对其他
当一个Pod创建成功时,Kubernetes调度器(Scheduler)会为该Pod选择一个节点来执行。对于每种计算资源(CPU和Memory)而言,每个节点都有一个能用于运行Pod的最大容量值。调度
Kubernetes集群里的节点提供的资源主要是计算资源,计算资源是可计量的能被申请、分配和使用的基础资源。当前Kubernetes集群中的计算资源主要包括CPU、GPU及Memory。CPU与Mem
通常需要对Worker节点进行扩容,从而将应用系统进行水平扩展。主要过程如下:1、在该Node上安装Docker、kubelet和kube-proxy服务;2、然后配置kubelet和kubeprox
Kubernetes CSI是Kubernetes推出与容器对接的存储接口标准,存储提供方只需要基于标准接口进行存储插件的实现,就能使用Kubernetes的原生存储机制为容器提供存储服务。CSI使得
Kubernetes支持两种资源的存储供应模式:静态模式(Static)和动态模式(Dynamic)。静态模式:集群管理员手工创建许多PV,在定义PV时需要将后端存储的特性进行设置。动态模式:集群管理
某个PV在生命周期中可能处于以下4个阶段(Phaes)之一。Available:可用状态,还未与某个PVC绑定。Bound:已与某个PVC绑定。Released:绑定的PVC已经删除,资源已释放,但没
PV是对底层网络共享存储的抽象,将共享存储定义为一种“资源”。PVC则是用户对存储资源的一个“申请”。
Kubernetes 通过数据持久化来持久化保存重要数据,常见的方式有:EmptyDir(空目录):没有指定要挂载宿主机上的某个目录,直接由Pod内保部映射到宿主机上。类似于docker中的manag
Kubernetes对于有状态的容器应用或者对数据需要持久化的应用,因此需要更加可靠的存储来保存应用产生的重要数据,以便容器应用在重建之后仍然可以使用之前的数据。因此需要使用共享存储。
Calico是一个基于BGP的纯三层的网络方案,与OpenStack、Kubernetes、AWS、GCE等云平台都能够良好地集成。Calico在每个计算节点都利用Linux Kernel实现了一个高
Flannel可以用于Kubernetes底层网络的实现,主要作用有:它能协助Kubernetes,给每一个Node上的Docker容器都分配互相不冲突的IP地址。它能在这些IP地址之间建立一个覆盖网
Network Policy的工作原理主要为:policy controller需要实现一个API Listener,监听用户设置的Network Policy定义,并将网络访问规则通过各Node的A