Kubernetes/1.Kubernetes基础

Kubernetes基础

本章主要让我们初步了解到Kubernetes的主要组件有哪些,以及其协作关系是怎么样的。

  • 架构图
  • 流程概述
  • 参考文档
  • 备注

架构图

Master节点:(又称为控制平面:control plane)

包括kube-apiserver、kube-scheduler、kube-controller-manager和etcd四个组件。

kube-apiserver:
    是一个将Kubernetes控制平面中的API暴露出来的API服务,这服务是Kubernetes控制平面的前端。
    用户可以运行多个kube-apiserver组件的实例,用于平衡实例的请求流量。

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

kube-controller-manager:
    每个控制器都是独立的二进制进程,包括:Node Controller、Replication Controller、Endpoints Controller和Service Account & Token Controllers。

etcd:
    高可用、KV结构的kubernetes的后端数据存储组件。
    备份方案:https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster
    官方文档:https://etcd.io/docs/v3.4.0/

Node节点:(又称为数据平面:data plane)

包括kubelet、kube-proxy和Container Runtime三个组件。
kubelet:
    运行在集群每个节点的客户端,需要确保相关容器运行在pod中;
    通过PodSpecs标签,描述容器的运行状态;
    最后,kubelet不管理,没有通过kubernetes创建的容器。

kube-proxy:
    是一个运行在集群每个节点的网络代理组件。

Container Runtime:
    支持运行容器底层环境的软件;
    支持: Docker, containerd, cri-o, rktlet and any implementation of the Kubernetes CRI (Container Runtime Interface)。

Addons(附加组件)

使用Kubernetes resources (DaemonSet, Deployment, etc)增加集群功能;
其中附加组件的namespace属于kube-system。
可用Addons文档:https://kubernetes.io/docs/concepts/cluster-administration/addons/
DNS:
    将Service资源的A记录,实时且自动的添加进来。
Web UI (Dashboard)、Container Resource Monitoring和Cluster-level Logging

2.流程概述:

Master:

用户通过(API、WebUI、CLI)向APIserver发送请求,Scheduler组件watch APIserver的资源变动,同时从Node中选取最合适的Node节点开始调度,并把结果保存到Etcd中。

Node:

kubelet也会watch APIserver的资源变动,并在符合的Node上,会通过kuberlet调用相关的docker引擎进行后续构建操作。

参考文档

官网:https://kubernetes.io

备注

本文原址位于我的Github,我会陆续将所有专题更新过来,其中包括docker、k8s、ceph、istio和prometheus,旨在分享云原生中大而全的技术知识点和实操过程,如果对你有用,请follow、star我的github,这也是我更新、分享下去的动力,谢谢~

原文地址:https://blog.51cto.com/qishiding/2462731

时间: 2024-07-30 05:20:39

Kubernetes/1.Kubernetes基础的相关文章

通过Rancher部署并扩容Kubernetes集群基础篇二

接上一篇通过Rancher部署并扩容Kubernetes集群基础篇一 7. 使用ConfigMap配置redis https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/user-guide/configmap/redis/redis-config redis-config maxmemory 2mb     maxmemory-policy allkeys-lru # kubectl create configma

Kubernetes 第一章 基础知识

Kubernetes 第一章 基础知识 Kubernetes是一个开源容器编排引擎,用于自动化容器化应用程序的部署,扩展和管理.开源项目由Cloud Native Computing Foundation(CNCF)托管. Kubernetes是一个可移植,可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明性配置和自动化.它拥有庞大,快速发展的生态系统.Kubernetes服务,具有广泛的工具和支持可用. 发展历程 传统部署时代: 早期,组织在物理服务器上运行应用程序.无法为物理服务器中

Kubernetes/2.Kubernetes基础和部署说明

Kubernetes基础和部署说明 本章节首先就基础组件.集群基础对象和控制器进行了详细的介绍和说明,然后辨析了集群网络中的三种网络和专有名词,最后关于新手部署测试和生产环境的部署要点进行了归纳说明. 基础组件 基础对象(Objects) 控制器 集群网络 部署要点 备注 基础组件 如图所示,kubernetes集群中主要分为三个组件: Master Components kube-apiserver:作为k8s控制平面的前端,也是所有请求接收的入口 etcd:k8s集群后端所有集群数据的高可用

通过Rancher部署并扩容Kubernetes集群基础篇

一 应用场景描述 持续跟踪研究Kubernetes也有一段时间了,Kubernetes作为谷歌开源的生产级别的容器调度系统从开源初始便获得了众多的关注.一些有研发实力的公司调研过Kubernetes的设计理念以及应用场景后很快就组织研发人员结合Kubernetes开发出符合自身业务发展的容器管理平台,也有一些公司基于Kubernetes开发公有容器云平台对外提供服务.但是对于一些小型团队对Kubernetes还是保持观望态度并适当做些测试.对比与mesos,kubernetes目前缺少一个像DC

Kubernetes/4.Kubernetes快速入门

Kubernetes快速入门 通过本章节的学习,你可以充分了解到一个https的kubernetes集群中所需的证书及其作用,以及kubernetes语境内的api资源类型,最后我还补充了几个基础的GET命令,此时你可以登录到上一章节我们使用kubeadm创建的集群,进行一些查询操作了. 证书管理 API资源模型 API资源类型 命令补充 备注 证书管理 k8s于生产环境运行时,我强烈建议大家运行在https的安全环境下,其证书可分为以下三大类: root CA: apiserver:apise

kubernetes之三---Kubernetes设计架构和设计理念

1.kubernetes设计架构 k8s基础集群环境主要是运行kubernetes管理端服务以及node节点上的服务部署及使用. Kubernetes设计架构文档:https://www.kubernetes.org.cn/kubernetes%E8%AE%BE%E8%AE%A1%E6%9E%B6%E6%9E%84 Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分布式的存储系统.下面这张图是Kubernetes的架构

利用kubernetes 安装 Kubernetes Dashboard

最近再次学习下k8s,版本已经升级到1.17了,准备部署一下,以下是官方地址 https://github.com/kubernetes/dashboard 接着往下面看 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc2/aio/deploy/recommended.yaml [[email protected] ~]# kubectl get pods --all-namespa

kubernetes基础入门之-配置kubernetes skyDNS服务

kubernetes基础入门之-安装部署配置示例 部署kubernetes skyDNS  kubernetes可以为pod提供dns内部域名解析服务. 其主要作用是为pod提供可以直接通过service的名字解析为对应service的ip的功能! 1.首先在各节点的kubelet 进程中添加选项: KUBELET_ARGS="--cluster_dns=10.254.0.10 --cluster_domain=kube.local" [Master 节点操作如下:] [[email 

kubernetes基础

(1)什么是Kubernetes? Kubernetes是一个在集群主机间进行自动化部署.扩展和容器操作的提供以容器为中心基础设施的开源平台. 通过Kubernetes,你可以快速有效地响应用户需求: 快速而有预期地部署你的应用 极速地扩展你的应用 无缝铺展新的应用功能 节省资源,优化硬件资源的使用 我们的目标是孕育一个组件和工具的生态系统以资源在公有云和私有云中运行的应用的负担. Kubernetes特点: 可移植: 支持公有云,私有云,混合云,复合云 可扩展: 模块化,热插拨,可组合 自愈: