作者 | 小明菜市场

来源 | 小明菜市场(ID:fileGeek)

头图 | CSDN 下载自东方IC

前言

都2020年了,你还不知道kubernetes就真的真的真的out啦。(贩卖焦虑体) 什么是k8s,k8s这个词来自于希腊语,有主管,舵手,船长的意思,我们从图标中能看出来。

在k8s的网站上,描述是这样的

生产级别的容器编排系统

从定义中可以提炼出三个关键字,分别是

  • 生产级别

  • 容器

  • 编排系统

1、生产级别

说k8s是生产级别的有如下的几个原因:

  • k8s 是谷歌的开源系统,基于谷歌的系统设计,并且已经在谷歌系统上平稳运行的很久。

  • k8s 是CNCF的首个毕业项目。

2、容器

容器有以下几个特点

  • 可移植性,容器可以被任何类型的操作系统安装使用。

  • 包容性:支持多种类型的软件,这些软件都可以打包在容器内。

  • 标准格式。

  • 共存,多个容器可以运行在同一个物理机上。

  • 隔离,不同的容器的软件彼此隔离。

最重要的一句话:没有容器就没有微服务。

容器和微服务化后,带来了一些好处,比如:

  • 模块间更加独立,可以独立的部署和发布,加快了发布和更新的速度

  • 隔离的运行环境,可以为不同模块定制不同的运行环境

3、编排系统

容器的编排系统可以有效的管理在宿主机上的容器。

  • 管理网络和访问

  • 跟踪容器的状态

  • 增大或缩小服务的规模

  • 实现负载平衡

  • 宿主机无响应后实现容器的重新分配

  • 服务发现

  • 管理容器的存储 等等…

主要功能

1、数据卷

pod中容器之间共享数据,可以使用数据卷。

2、应用程序健康检查

容器内服务可能进程阻塞无法处理请求,可以设置监控检查的策略

3、复制应用程序实例

控制器维护者pod副本数量,保证一个pod或一组同类prod数量始终可用

4、弹性伸缩

根据设定的指标,自动缩放pod副本数

5、服务发现

使用环境变量或DNS插件保证容器中程序发现pod入口访问地址。

6、负载均衡

一组pod副本分配一个私有的集群ip地址,负载均衡转发请求到后端容器,在集群类其他pod可以通过clusterIP访问应用。

7、滚动更新

更新服务不中断,一次更新一个pod,而不是同时删除整个服务。

8、服务编排

通过文件描述部署服务,使得应用程序部署变得高效。

9、资源监控

Node节点组件集成cAdvisor资源收集工具,通过Heapster汇总,并保存到influxDB时序数据库,最后由Grafana展示。

10、提供认证授权

支持RBAC认证授权机制。

11、设计架构

功能组件

k8s 集群中有管理节点,Master与工作节点,Node两种类型。

  1. 管理节点Master主要负责k8s集群管理,集群中各个节点之间信息交互,任务调度,还负责容器,pod, namespaces , pv 等生命周期的管理。

  2. 工作节点node主要为容器和pod提供计算资源,pod及其容器全部运行在工作节点上,工作节点通过kubelet服务与管理节点通信以管理容器的生命周期,并与集群其他节点进行通信。

1、master组件

kube-apiserver

kubernetes api 资源操作的唯一入口,各种组件的协调者,以HTTP API 提供接口服务,并提供相关的认证,授权等机制,

kube-controller-manager

处理集群中常规的后台任务,一个资源对应一个控制器,而ControllerManager负责管理这些控制器,并维护集群的状态。

kube-scheduler

负责资源的调度,按照预定的策略把pod调度到对应的Node节点上。

2、Node组件

kubelet

kubelet是Master在Node节点上的agent,管理本机运行容器的生命周期,同时也负责Volume和网络的管理。例如创建容器,挂载数据卷,下载secret,获取容器和节点的状态等工作。

kube-proxy

在Node节点上实现Pod/serviced网络代理,提供cluster内部的服务发现和四层负载均衡。

docker

真正运行容器的地方

etcd集群

分布式键值对储存系统,用于保存集群状态,比如pod,service等对象信息。

分层架构

核心层:最核心的功能,对外提供api 应用层,部署无状态应用,等,和路由。管理层:系统度量,自动化,以及RBAC等 接口层:kubectl命令行工具,以及客户端sdk 生态系统:分为外部的日志,监控等,内部的镜像仓库等。

安装

创建集群

首先,查看所使用的 minikube 版本:

$ minikube versionminikube version: v0.25.0

启动 minikube:

$ minikube startStarting local Kubernetes v1.9.0 cluster...Starting VM...Getting VM IP address...Moving files into cluster...Setting up certs...Connecting to cluster...Setting up kubeconfig...Starting cluster components...Kubectl is now configured to use the cluster.Loading cached images from config file.

minikube 启动之后,会创建一个单节点 Kubernetes 集群。

查看集群版本:

$ kubectl versionClient Version: version.Info{Major:"1

linuxos或sv独立客户端不支持应用程序打开方式_搞不明白为什么大家都在学习 k8s相关推荐

  1. 光是无限远服务器怎么登陆,sv独立客户端怎么连接服务器(sv独立客户端登录密码)...

    客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序.除了一些只在本地运行的应用之外,一般安装在普通的客户机上,需要与服务端互相. 天融信sv独立客户端安装好了,打开显示不 ...

  2. 浩方连接不上服务器无响应,sv独立客户端无法登陆服务器(sv独立客户端连接失败)...

    登录全国教师信息系统为什么要下载SV独立客户端?下载完独立客户端以后. 桌面上点击右键选择"屏幕分辨率",再点击"放大或缩小文本和其他项目",再点在"较小(s) ...

  3. 浩方登录不上服务器无响应,sv独立客户端无法登陆服务器(sv独立客户端连接失败)...

    登录全国教师信息系统为什么要下载SV独立客户端?下载完独立客户端以后. 桌面上点击右键选择"屏幕分辨率",再点击"放大或缩小文本和其他项目",再点在"较小(s) ...

  4. SV独立客户端无法登陆问题

    SVClientSetup安装后或使用一段时间后,无法连接服务器或无法登陆情况 可能原因分析: 没有将VPN的站点添加信任站点 控制面板-->Internet选项 Internet属性--> ...

  5. pc工具不支持stb的加密方式_如何选择加密狗?九大标准

    精锐5加密锁是深思数盾最新一代高性能智能卡加密锁.下面我们一起来了解一下精锐5加密锁的是如何能满足加密需求的. 1.1 全方位安全保障 l CCEAL5+安全芯片 精锐5加密锁采用进口的32位ARM内 ...

  6. pc工具不支持stb的加密方式_那些工作中常用的实用工具

    DESIGN 古人云:工欲善其事,必先利其器.俗话说:巧妇难为无米之炊.两句话都讲的是,做专业的事,要有专业的工具,保证品质的同时呢,又能提高生产效率.作为一名设计师,同样需要专业的工具输出我们的产品 ...

  7. 独立站SEO推广的正确打开方式

    有人认为,现在的SEO推广就是一片红海,因为很多人都看到自己很多友商已经获得了很不错的排名,现在再去做独立站的SEO推广,担心只会一直被埋没.的确,SEO推广越早做越能取得先机,但很多人都低估了搜索引 ...

  8. 客户端不支持javascript怎么办

    客户端不支持javascript怎么办 regsvr32 jscript.dll 一般在开始-运行-中运行以上的语句就行 转载于:https://www.cnblogs.com/wangdetian1 ...

  9. mysql客户端不支持_MySQL 8.0 - 客户端不支持服务器请求的身份验证协议; 考虑升级MySQL客户端...

    MySQL 8.0 - 客户端不支持服务器请求的身份验证协议; 考虑升级MySQL客户端 我是node.js和MySQL初学者,我刚开始设置并尝试一些基本代码.但是,由于某种原因,我甚至无法与服务器建 ...

最新文章

  1. 转 java学习笔记(必看经典)
  2. JavaCSV之写CSV文件
  3. 强化学习(五)---基于模型的强化学习实战
  4. 微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog
  5. BIOS和Bootloader的区别
  6. OAuth2,JWT,Open-ID Connect和其他令人困惑的事物
  7. GWT MVP变得简单
  8. Linux怎么删除虚拟硬盘,2017.05.10 qemu-nbd 全自动挂载/卸载 虚拟硬盘中所有可用分区 的 脚本...
  9. 【BZOJ1084】【codevs2454】最大子矩阵,DP
  10. 工厂模式 java 电脑配件_1.Java设计模式-工厂模式
  11. Linux声卡驱动框图
  12. HTML5 — 知识总结篇《VIII》【媒体元素】
  13. matlab分簇教程,leach分簇算法仿真(基于matlab)
  14. mescroll.js -- 精致的下拉刷新和上拉加载js框架
  15. Flash Professional CS6 安装zxp插件
  16. Java-mail发送邮件
  17. html 中全角波浪线,中间波浪怎么打出来,靠上的波浪符号怎么打
  18. 高端制造业企业信息化解决方案,工业电商平台设备、数据、体系预测性维护
  19. 01_CSS简介.html
  20. 如何使用计算机网络打印机,如何在电脑上安装网络打印机?详细教程全部教给你!...

热门文章

  1. 企业实战06:Oracle数据库_约束
  2. Centos7 使用Docker MySQL部署_01
  3. JavaScript-jQuery选择器
  4. 适用于ios和android,适用于iOS和Android的OpenGL ES差异
  5. mybatis中resultType取出数据顺序不一致解决方法
  6. rust腐蚀怎么单人游戏_腐蚀游戏怎么提高帧数 Rust设置隐藏画质提高FPS教程
  7. js数组查找最接近_在JavaScript数组中找到最小元素的位置
  8. java 发送邮件_Jenkins实现自动化邮件发送踩坑记录
  9. l2-008 最长对称子串 (25分)_小学数学关于时间认识(时、分、秒)的几点总结
  10. c语言几种排序方法的比较,基于C语言的几种排序方法比较.doc