Kubernets基本介绍

Kubernetes是一个容器编排引擎,主要用于容器自动化部署,自动扩容和容器化应用(如docker)的管理。

不同的部署方式

传统方式: 所有的应用程序共用所有的硬件资源。如果某一个应用占用资源比较多的话,另外的应用程序就会减少到占用相同资源的机会。
虚拟部署方式:在同一个机器上部署多个不同的虚拟机,这些虚拟机之间互相不影响资源的占用。每个虚拟机都有一个自己独立的操作系统,所有这种部署方式虚拟机本身对资源的占用就比较多,而且同一个物理机器上能部署的虚拟机数量也是有限的。
容器化部署:所有的容器共享机器本身的操作系统,每个容器本身都有自身的一套文件系统,容器之间互相不影响,这种方式相对于虚拟部署方式就会更轻量。
在这里插入图片描述

为什么需要kubernets?

由于容器化部署越来越受到青睐,但是如果手动部署和管理这些容器,容器就会存在宕机事件,这样是不能接受的。同时手动部署也容易出现人为错误,所有kubernetes就出现了,他可以帮我们解决这些问题。
Kubernetes主要能做下面这些事情:

  1. 服务发现和负载均衡
  2. 存储编排:允许自动挂载所需的存储系统,如本地储存,公共云提供商等。
  3. 自动部署和回滚
  4. 自动完成装箱计算:允许指定每个容器所需的CPU和内存(RAM)
  5. 自我修复
  6. 密钥与配置管理:可以存储和管理敏感信息。

kubernetes组件

kubernetes都是以集群方式存在的,一旦部署Kubernets,就部署了一个Kubernets集群。
在这里插入图片描述
Kubernetes集群主要有三个部分组成:控制平台组件,节点(Node)组件和插件(Addons)

控制平面组件
组件描述
kube-apiserverkubernetes API服务器,是Kubernetes控制平面的前端。
etcd是kubernetes集群所有数据的后台键值数据库,具有一致性和高可用的特点
kube-scheduler负责监视新创建的,未指定运行节点(node)的Pods,选择节点让Pod在上面运行
kube-controller-manager主要负责运行控制器进程。主要包括节点控制器(负责节点出现故障时进行通知和响应),任务控制器(监控代表一次性任务的Job对象,然后创建Pods来运行这些任务),断点控制器(填充断点对象), 服务账户和令牌控制器:为新的命名空间创建默认账号和API访问令牌)
cloud-controller-manager指嵌入特定云的控制管理器
Node(节点)组件

节点组件在每个节点上运行,维护运行的Pod并提供Kubernetes运行环境

组件描述
kubelet每个节点上运行的代理。
kube-proxy集群种每个节点上运行的网络代理,实现kubernetes服务(service)概念的一部分
容器运行时(Container Runtime)负责运行容器的软件,如Docker, containerd, CRI-O等其他任何实现
插件(Addons)

插件使用Kubernetes资源(DamonSet、Deployment等)实现集群功能。插件种命令空间域的资源所有kube-system命令空间)

插件类型描述
DNS集群DNS是一个DNS服务器,和环境中的其他DNS服务器一起工作,它为Kubernetes服务提供DNS记录
Web界面(仪表盘)Dashboard是Kubernetes集群的通用的、基于Web的用户界面
容器资源监控将关于容器的一些常见的时间序列度量值保存到一个集中的数据库中
集群层面日志负责将容器的日志数据保存到一个集中的日志存储中

各种资源

kubernetes的资源对象主要分为4类,分别是资源对象,存储对象,策略对象和身份对象,如下

类别名称
资源对象Pod、ReplicaSet、ReplicationController、Deployment、StatefulSet、DaemonSet、Job、CronJob、HorizontalPodAutoscaling、Node、Namespace、Service、Ingress、Label、CustomResourceDefinition
存储对象Volume、PersistentVolume、Secret、ConfigMap
策略对象SecurityContext、ResourceQuota、LimitRange
身份对象ServiceAccount、Role、ClusterRole

每个kubernetes资源对象包含两个嵌套的对象字段:对象spec和对象status。其中spec描述对象的期望状态,status描述了对象的实际状态,由kubernetes系统提供和更新。

命令行工具

kubernetes提供了4个常用的命令行工具:kubectl、kind、minikube和kubeadm

工具介绍
kubectl可以对Kubernetes集群运行命令,主要可以做部署应用、监控和管理集群资源以及查看日志
kind使用该工具可以让你在本地计算机运行Kubernetes
minikube与kind类似,能让你在本地运行kubernetes
kubeadm可以用来创建和管理Kubernetes集群
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.kubernetes 初探 简要介绍K8s平台、主要功能和社区开发情况,并通过分析企业云平台需求总结企业在应用和搭建K8s平台时需要解决的各种问题,从而引出系列课程。 2.上手Kubernetes基本概念、安装和命令行工具kubctl 介绍K8s在不同场景下的安装方式。并通过命令行工具kubectl的介绍和Demo帮助听众了解Kubernetes的主要功能和基本使用场景 3.Kubernetes的资源调度 介绍K8s中调度器模块的基本实现,包括调度场景和功能等,从而帮助用户理解如何配置K8s资源以实现自定义的资源分配。 4.Kubernetes的运行时:Kubelet 本讲将从K8s运行时组件Kubelet出发,介绍Kubernetes运行时的基本功能和架构。并通过介绍目前流行的各种容器引擎与Kubernetes的集成帮助开发者和拥护了解K8s CRI项目。 5.Kubernetes的网络管理 本讲介绍了目前K8s平台的主要网络解决方案,包括Kube-Proxy、CNI等模块,并介绍Kubernetes与目前流行的Calico平台的集成从而实现网络隔离 6.Kubernetes的存储管理 本讲介绍了K8s持久化存储平台的基本概念、使用场景、设计架构和目前社区开发状态。并通过对PV Controller等关键存储模块的剖析展示了K8s持久化存储平台的实现细节。 7.Kubernetes的日志与监控 介绍ELK日志分析平台及其与K8s/ICp的集成,从而能够在K8s平台上实现日志分析 8.Kubernetes的应用部署 介绍K8s Helm/Charts平台以及如何使用Helm命令部署K8s应用,并通过ICp作为实例介绍K8s上应用仓库的搭建 9.扩展Kubernetes生态:Service Catalog的概念与应用 本讲从Service Catalog的角度介绍了K8s平台如何与企业传统IT服务相集成,并详细介绍了Service Catalog项目的设计与实现 10.Kubernetes的企业实践 本讲在前九讲的基础上总结了目前企业应用Kubernetes所存在的各种问题,介绍了IBM基于Kubernetes搭建的下一代私有云平台ICp

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值