【云原生 • Kubernetes】k8s功能特性、k8s集群架构介绍
目录(k8s集群搭建先导篇)
- 一、Kubernetes 的特性/功能
- 二、Kubernetes 集群架构介绍
- 1. master node 节点
- 2. worker node 节点
- 三、Kubernetes 核心概念
- 1. Pod
- 2. Controller
- 3. Service
一、Kubernetes 的特性/功能
自动装箱
:基于容器对应用运行环境的资源配置,要求自动部署应用容器,无需太多人工干预。
自我修复
:也就是自愈能力,容器启动失败时自动重启容器;当部署的 Node 节点出现问题时,会对容器进行重新部署和调度;当容器未通过监控检查时,会关闭此容器,直到容器正常运行才会对外提供服务。
水平拓展
:伸缩性强,通过简单的命令、用户 UI 界面或 CPU 等资源使用情况,对应用容器进行规模扩大或缩减。
服务发现
:也就是负载均衡,用户无需使用额外的服务发现机制,就可以基于 k8s 自身能力实现服务发现和负载均衡。
滚动更新
:可以通过应用的变化,对容器中运行的应用进行一次性或批量更新。
版本回退
:可根据应用部署情况,对容器中运行的应用进行历史版本即时回退。
密钥和配置管理
:在无需重新构建镜像的情况下,可部署和更新密钥和应用配置,类似于热部署。
存储编排
:自动实现存储系统挂载及应用,对有状态的应用实现数据持久化,存储系统可以来自于本地目录、网络存储(NFS、ceph、Gluster 等)。
批处理
:可提供一次性任务、定时任务,满足批量数据处理和分析。
以上 k8s 特性,如果仅使用 docker 容器技术是很难实现或者根本无法实现的。k8s 的目的就是让部署容器化应用更加简洁、更加高效。
二、Kubernetes 集群架构介绍
搭建一个 k8s 集群,需要包含 master-node
和 worker-node
两大部分。
master-node:主控节点,专门管理各个工作节点。
worker-node:工作节点,做具体操作事务的节点。
以下将具体介绍各部分中所包含的具体组件,后续在实操搭建 k8s 集群的过程中这些组件都需要我们手动安装。
1. master node 节点
API server
:集群的一个对外统一入口,可以将它理解为 master 节点中各个组件的协调者,通过 apiserver 可将获取到的请求分发至各组件;需要知道,apiserver 是以 restful 请求方式提供服务的,所有请求也就是以 restful 风格通过 apiserver 进入集群后进行相关操作,最后 apiserver 将所有操作数据存储于 etcd当中。
etcd
:分布式,可靠的键值存储,可用于分布式系统中存储关键核心数据。从简单的应用程序到 Kubernetes 再到任何复杂性的应用程序都可以从 etcd 中读写数据。此处专用于保存集群相关的数据。
scheduler
:致力于节点调度,它会选择某一个 node 节点进行应用的部署。
controller-manager
:顾名思义它主要做的就是集中的处理控制管理,集群中后台的一个统一控制组件。处理集群中常规后台任务,一个资源对应一个控制器(controller)。
2. worker node 节点
kubelet
:可以理解为 master 派到 node 节点的一个“代表”,管理当前节点中容器的各种操作。
kube-proxy
:提供网络代理,实现负载均衡等操作。
docker
:参见往期文章,此处不再赘述。
三、Kubernetes 核心概念
在操作 kubernetes 的过程中,难免会遇到一些概念性的问题,以下可以说是 kubernetes 中最重要的三个核心即Pod
、Controller
、Service
。
1. Pod
kubernetes 中最小的部署单元;是一组容器的集合,每一个 pod 中的容器都是共享网络的;pod 的生命周期是短暂的,并非一直存在,会随着服务器的重新启动或者重新部署而更新。
2. Controller
可以确保预期的 pod 副本数量;当我们在 k8s 中部署容器或应用时,可以无状态部署或有状态部署;可以确保所有 node 都运行同一个 pod;可以支持一次性任务和定时任务。
无状态:容器或应用内无任何约定,即使迁移之后也可以直接使用。
有状态:容器或应用内包含约定,如该容器/应用网络 IP 需要唯一等。
3. Service
定义一组 pod 的访问规则。
总体流程就是,通过 service 统一入口访问,由 controller 创建 pod 进行部署。
本章学习目标:
- 掌握 k8s 的具体功能和特性;
- 掌握 k8s 集群架构理论体系;
- 掌握 k8s 中的核心概念点。
【云原生 • Kubernetes】k8s功能特性、k8s集群架构介绍相关推荐
- 云原生|kubernetes|kubeadm部署的集群的100年证书
前言: 首先,先看看minikube这样的开发或者测试使用的kubernetes集群的证书时间: [root@node3 ~]# kubeadm certs check-expiration [che ...
- 【云原生 · Kubernetes】kubeadm创建集群
文章目录 1. 安装kubeadm 1.1 基础环境 1.2 安装kubelet.kubeadm.kubectl 2 使用kubeadm引导集群 2.1 下载各个机器需要的镜像 2.2初始化主节点 2 ...
- 【云原生 · Kubernetes】部署kube-apiserver集群
个人名片: 因为云计算成为了监控工程师
- 【云原生 • Kubernetes】认识 k8s 网络、外部网络访问 k8s 内部服务
目录 一.认识 Kubernetes 网络 二.外部网络如何访问 k8s 内部服务 1. NodePort 2. Load Balancer 3. Ingress 一.认识 Kubernetes 网络 ...
- 蚂蚁集团俞仁杰:金融级云原生之多活容器集群高可用建设实践
本文整理自蚂蚁集团金融云产品技术部SOFAStack产品专家俞仁杰在2020 GIDC全球互联网数据大会的分享.详细讲解了云原生架构下的多活高可用平台和产品建设相关经验和观点. 过去几年是云原生理念高 ...
- K8S 多 Maser 集群架构和 Dashboard UI 的二进制部署
多 Maser 集群架构 一.多 Maser 集群架构的了解 二.多 Maser 集群架构的部署 2.1 加入master02 节点 2.2 lb01和lb02搭建nginx和Keepalived 2 ...
- 【云原生 • Kubernetes】认识 k8s、k8s 架构、核心概念点介绍
目录 一.Kubernetes 简介 二.Kubernetes 架构 三.Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本 ...
- 【云原生 | Kubernetes 系列】K8s 实战 一文学会如何从 PodSecurityPolicy 迁移到内置的 PodSecurity 准入控制器
PodSecurityPolicy 迁移到内置的 PodSecurity 准入控制器 前言 一.Pod 安全性 二.访问权限 三.标准化 PodSecurityPolicy 3.1.去掉纯粹变更性质的 ...
- K8S高可用集群架构部署 dashborad插件部署 Nginx实现动静分离 K8S在线升级
K8S官方文档 注意:该集群每个master节点都默认由kubeadm生成了etcd容器,组成etcd集群.正常使用集群,etcd的集群不能超过一半为down状态. docker的namespace: ...
最新文章
- hung-yi lee_p4_Bias And Variance
- 划水是程序员必备的技能吗? | 每日趣闻
- eeglab中文教程系列(9)-绘制ERP图像
- linux离线安装ftp_安装Kali Linux之后要做的前10件事
- java semaphore 等待_Java并发编程系列之Semaphore详解
- python项目计划_2017年vn.py项目计划
- C加加学习之路 1——开始
- 项目管理与项目组合管理的不同
- Spring→面向切面编程AOP、相关概念、通知Advice类型、配置切面切入点通知、AOP相关API、AOP代理类ProxyFactoryBean、AOP注解@AspectJ
- oracle excel vba6,vba6.dll下载
- Chapter第六章
- 微信小程序代码大全 - 小程序开发福利
- Silverlight 2.“.NET研究”5D RPG游戏技巧与特效处理:(二)纸娃娃系统
- HTML制作简单的个人简历网页
- TwinCAT 3 file记录日志txt文件程序
- 气球java游戏_气球游戏-2019腾讯笔试
- pr预设导入安装教程,prfpset文件怎么导入pr?
- 【WeNews】三胞债务重组方案出炉 650亿元金融债务如何化解
- import androidx.core.app.Fragment;报红
- excel转word_PDF一键转Word、转Excel、转PPT、转Html、转图片软件