Kubernetes
文章平均质量分 88
技术闲聊DD
代码改变生活,程序改变世界!
展开
-
K8s学习(15)---DashBoard
之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。部署Dashboard下载yaml,并运行Dashboard# 下载yaml[root@master ~]# wget https://raw.githubuserconten原创 2021-12-13 17:38:26 · 431 阅读 · 0 评论 -
K8s学习(14)---安全认证
本章节主要介绍Kubernetes的安全认证机制。访问控制概述 Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。客户端在Kubernetes集群中,客户端通常有两类:User Account:一般是独立于kubernetes之外的其他服务管理的用户账号。Service Account:kubernetes管理的账号,用于为Pod中的服务进程在访问Kubernetes转载 2021-12-13 17:29:18 · 112 阅读 · 0 评论 -
K8s学习(13)---数据存储
在前面已经提到,容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。 Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。Volume的生命容器不与Pod中单个容原创 2021-12-13 17:21:06 · 149 阅读 · 0 评论 -
K8s学习(12)---Service详解(Ingress介绍和使用)
1 Ingress介绍 在前面课程中已经提到,Service对集群之外暴露服务的主要方式有两种:NotePort和LoadBalancer,但是这两种方式,都有一定的缺点:NodePort方式的缺点是会占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就愈发明显LB方式的缺点是每个service需要一个LB,浪费、麻烦,并且需要kubernetes之外设备的支持 基于这种现状,kubernetes提供了Ingress资源对象,Ingress只需要一个NodePort或者原创 2021-12-13 17:15:36 · 3284 阅读 · 0 评论 -
K8s学习(11)---Service详解(Service介绍和使用)
1 Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。 Service在很多情况下只是一个概念,真正起作用的其实是kube-p原创 2021-12-13 16:17:48 · 1096 阅读 · 0 评论 -
K8s学习(10)--- Pod控制器
Pod控制器介绍Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类:自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建。控制器创建的pod:kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建。什么是Pod控制器 Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确原创 2021-12-09 14:44:30 · 1413 阅读 · 0 评论 -
K8s学习(9)---Pod详解(Pod调度)
在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达某些节点上,那么应该怎么做呢?这就要求了解kubernetes对Pod的调度规则,kubernetes提供了四大类调度方式:自动调度:运行在哪个节点上完全由Scheduler经过一系列的算法计算得出定向调度:NodeName、NodeSelector亲和性调度:NodeAffinity、Po原创 2021-12-07 13:49:13 · 598 阅读 · 0 评论 -
K8s学习(8)---Pod详解(Pod生命周期)
我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程:pod创建过程运行初始化容器(init container)过程运行主容器(main container)容器启动后钩子(post start)、容器终止前钩子(pre stop)容器的存活性探测(liveness probe)、就绪性探测(readiness probe)pod终止过程在整个生命周期中,Pod会出现5种状态(相位),分别如下:挂起(Pending):a原创 2021-12-06 19:47:57 · 2559 阅读 · 2 评论 -
K8s学习(7)---Pod详解(Pod配置)
本小节主要来研究pod.spec.containers属性,这也是pod配置中最为关键的一项配置。[root@master ~]# kubectl explain pod.spec.containersKIND: PodVERSION: v1RESOURCE: containers <[]Object> # 数组,代表可以有多个容器FIELDS: name <string> # 容器名称 image <string>原创 2021-12-03 16:33:39 · 852 阅读 · 0 评论 -
K8s学习(6)---Pod详解(Pod介绍)
Pod结构每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类:用户程序所在的容器,数量可多可少Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个:可以以它为依据,评估整个Pod的健康状态可以在根容器上设置Ip地址,其它容器都此Ip(Pod IP),以实现Pod内部的网路通信这里是Pod内部的通讯,Pod的之间的通讯采用虚拟二层网络技术来实现,我们当前环境用的是FlannelPod定义下面是Pod的资源清单:apiVersion: v1原创 2021-12-03 14:25:58 · 686 阅读 · 0 评论 -
K8s学习(5)--- kubernetes组件介绍和实战入门
1 Namespace Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。 可以原创 2021-12-02 09:32:57 · 130 阅读 · 0 评论 -
K8s学习(4)--- kubernetes资源管理
资源管理介绍在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,其实就是在kubernetes集群中运行一个个的容器,并将指定的程序跑在容器中。kubernetes的最小管理单元是pod而不是容器,所以只能将容器放在 Pod 中,而kubernetes一般也不会直接管理Pod,而是通过 Pod控制器 来管理Pod的。Pod可以提供服务之后,就要考虑如何访问Po原创 2021-12-01 15:57:17 · 169 阅读 · 0 评论 -
K8s学习(3)--- kubernetes集群环境搭建
1. 环境规划1.1 集群类型kubernetes集群大体上分为两类:一主多从和多主多从。一主多从:一台Master节点和多台Node节点,搭建简单,但是有单机故障风险,适合用于测试环境。多主多从:多台Master节点和多台Node节点,搭建麻烦,安全性高,适合用于生产环境。本次搭建一主多从模式。1.2 安装方式kubernetes有多种部署方式,目前主流的方式有kubeadm、minikube、二进制包minikube:一个用于快速搭建单节点kubernetes的工具kubead原创 2021-12-01 11:06:35 · 354 阅读 · 0 评论 -
K8s学习(2)--- kubernetes组件应用介绍
一个kubernetes集群主要是由控制节点(master),工作节点(node) 构成,每个节点上都会安装不同的组件。master:集群的控制平面,负责集群的决策 ( 管理 )ApiServer : 资源操作的唯一入口,接收用户输入的命令,提供认证、授权、API注册和发现等机制Scheduler : 负责集群资源调度,按照预定的调度策略将Pod调度到相应的node节点上ControllerManager : 负责维护集群的状态,比如程序部署安排、故障检测、自动扩展、滚动更新等Etcd :原创 2021-11-30 19:17:17 · 339 阅读 · 0 评论 -
K8s学习(1)---基本介绍和概念理解
1 Kubernetes介绍用于自动化容器化应用程序的部署、规划、扩展和管理,它将组成应用程序的容器分组为逻辑单元,以便于管理和发现,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,很多细节都不需要运维人员去进行复杂的手工配置和处理。官网GitHub源码2 Kubernetes整体架构2.1 Masterkubernetes里的Master指的是集群控制节点。每个kubernetes集群里都需要一个Master节点来负责整个集群的管理和控原创 2021-04-17 10:47:45 · 158 阅读 · 0 评论 -
K8s学习(2)---搭建方式介绍
1 搭建方式介绍部署 Kubernetes 环境(集群)主要有多种方式:1.1 minikubeminikube可以在本地运行Kubernetes的工具,minikube可以在个人计算机(包括Windows,macOS和Linux PC)上运行一个单节点Kubernetes集群,以便您可以试用Kubernetes或进行日常开发工作;官网搭建介绍1.2 kindKind和minikube类似的工具,让你在本地计算机上运行Kubernetes,此工具需要安装并配置Docker;官网搭建介绍1.3原创 2021-04-17 11:34:21 · 313 阅读 · 0 评论