新手菜菜之2020Kubernetes详细介绍大全

时间:2020-05-08 13:26:04   收藏:0   阅读:55

前文 Kubernetes笔记(一):十分钟布置一套K8s环境 介绍了怎么快速建立一个k8s体系。为了持续运用k8s来布置咱们的应用,需要先对k8s中的一些根本组件与概念有个了解。

Kubernetes是什么

Kubernetes是Google于2014年根据其内部Brog体系开源的一个容器编列办理体系,可运用声明式的装备(以yaml文件的方法)主动地履行容器化应用程序的办理,包含布置、弹性、负载均衡、回滚等。

kubernetes供给的功能:

Kubernetes架构

咱们先来看一张Kubernetes的架构图

技术分享图片?

Kubernetes是一套分布式体系, 与大多数分布式体系类似,包含操控节点(master node)与作业节点(worker node)。

master node

操控节点便是指挥官,担任发号施令的,其上运转一些办理服务来对整个体系进行办理与操控,包含

worker node

作业节点便是详细干活的小兵,其上也运转一些服务来履行指挥官分派的使命,包含

别的还有既在master node上也在worker node上运转的网络通讯组件 kube-flannel。这些服务组件一般运转在kube-system的命名空间中,如图

技术分享图片

Kubernetes根本概念

咱们再来看第二张图

技术分享图片

功能组件在上面现已做了介绍。Kubernetes的操作目标主要包含容器组(Pod),服务(Service),副本操控器(replication-controller),及环绕这些的其它辅助目标

Pod

Pod是Kubernetes创立或布置的最小根本单元。一个Pod封装一个或多个应用容器、存储资源、一个独立的网络IP以及办理操控容器运转方法的策略选项。Pod中的每个容器同享网络命名空间(包含IP与端口),Pod内的容器能够运用localhost相互通讯。Pod能够指定一组同享存储卷Volumes,Pod中一切容器都能够拜访同享的Volumes,Volumes用于数据耐久化,防止容器重启丢掉数据。

Volume

Kubernetes运用Volume来处理Pod中容器重启数据丢掉的问题,以及Pod中多个容器间数据同享的问题。Kubernetes支撑的Volume类型包含:

ReplicationController

ReplicationController保证在任何时候都有按装备的Pod副本数在运转。现在推荐运用装备ReplicaSet(下一代ReplicationController)的Deployment来建立副本办理机制。

ReplicaSet

ReplicaSet是下一代ReplicationController,两者的唯一区别是ReplicaSet支撑新的根据调集的选择器,而ReplicationController仅支撑根据相等选择器的需求。

Deployment

Deployment为Pod与ReplicaSet供给了声明式的界说,描述你想要的目标状况是什么,Deployment controller就会帮你将Pod与ReplicaSet的实践状况改变到你想要的目标状况。

Service

一个Service能够看做一组供给相同服务的Pod的对外拜访接口。Kubernetes供给两种类型的Service:

Label

Label便是一对key/value,能够附加到各种资源目标上,如Node、Pod、Service等,一个资源目标能够界说任意数量的Label。能够经过Label选择器来选择具备某个(些)Label的资源。

PV & PVC

PersistentVolume(PV) 为用户供给了一个存储笼统,由办理员设置,它是集群的一部分。就像节点是集群中的资源一样,PV也是集群中的资源。 PV是Volume之类的卷插件,但具有独立于Pod的生命周期。

PersistentVolumeClaim(PVC)是用户存储的恳求。它与Pod类似。2020QQ空间相册密码破解Pod耗费节点资源,PVC耗费PV资源。Pod能够恳求特定级别的资源(CPU和内存)。PVC能够恳求特定大小和拜访形式的存储资源(例如,能够以读/写或只读形式挂载)。

Secret

Secret处理了密码、token、密钥等灵敏数据的存储问题,Secret的三种类型:

ConfigMap

ConfigMap用来保存key/value对的装备数据,这个数据能够在Pods里运用,或许被用来为像controller一样的体系组件存储装备数据。ConfigMap能够方便的处理不含灵敏信息的字符串(灵敏信息可运用Secret)。

Namespace

Namespace类似于Kubernetes中的虚拟集群,便于不同的分组在同享运用整个集群的资源的同时还能被别离办理。比方咱们如果开发测验共用一个Kubernetes集群,则能够将开发环境的服务布置到dev的namespace,测验环境的布置到test的namespace。

Ingress

为集群服务供给外部拜访,包含根据Nginx与Traefik两个版别,为服务供给域名绑定拜访与途径路由功能。也能够根据Ingress完成服务的灰度发布。

总结

本文对Kubernetes中触及的根本组件与概念进行了收拾,对其根本构成有了一个大致的理解与印象。下一篇将从一个实践出发,完成一个根据Gitlab+Jenkins+K8s的CI/CD流程,以对触及的各个组件进行深化了解与学习。

本文转载于:https://www.jmwww.net/a/13201.html 尊重作者,转载必须保留连接

原文:https://www.cnblogs.com/itps/p/12849728.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!