随笔- 41
文章- 0
评论- 0
阅读-
10506
随笔分类 - k8s学习笔记
ubuntu2204安装minikube【踩坑版】
摘要:参考链接 https://zhuanlan.zhihu.com/p/429690423 1.安装docker apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-propertie
阅读全文
k8s授权管理介绍与实战(RBAC)
摘要:授权管理 授权发生在认证成功之后,通过认证就可以知道请求用户是谁, 然后Kubernetes会根据事先定义的授权策略来决定用户是否有权限访问,这个过程就称为授权。 每个发送到ApiServer的请求都带上了用户和资源的信息:比如发送请求的用户、请求的路径、请求的动作等,授权就是根据这些信息和授权策略
阅读全文
k8s配置存储(ConfigMap、Secret)
摘要:配置存储 ConfigMap ConfigMap是一种比较特殊的存储卷,它的主要作用是用来存储配置信息的。 创建configmap.yaml,内容如下: apiVersion: v1 kind: ConfigMap metadata: name: configmap namespace: dev d
阅读全文
k8s高级存储(PV、PVC)
摘要:高级存储 前面已经学习了使用NFS提供存储,此时就要求用户会搭建NFS系统,并且会在yaml配置nfs。由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。 为了能够屏蔽底层存储实现的细节,方便用户使用, kubernetes引入PV和PVC两种资源对象。 - PV(Pers
阅读全文
k8s基本存储(EmptyDir、HostPath、NFS)
摘要:数据存储 在前面已经提到,容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。 这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。 Volume是Pod中能够被多个容器访问的共享目录,它被
阅读全文
Ingress的Http与Https代理
摘要:环境准备 准备service和pod 为了后面的实验比较方便,创建如下图所示的模型 创建tomcat-nginx.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment namespace: dev spe
阅读全文
Ingress介绍与安装(Ingress V0.3)
摘要:Ingress介绍 Service对集群之外暴露服务的主要方式有两种:NotePort和LoadBalancer(略),但是这两种方式,都有一定的缺点: - NodePort方式的缺点是会占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就愈发明显 - LB方式的缺点是每个service需要
阅读全文
NodePort类型的Service
摘要:NodePort类型的Service 在之前的样例中,创建的Service的ip地址只有集群内部才可以访问,如果希望将Service暴露给集群外部使用,那么就要使用到另外一种类型的Service,称为NodePort类型。 NodePort的工作原理其实就是将service的端口映射到Node的一个
阅读全文
HeadLiness类型的Service
摘要:HeadLiness类型的Service 在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,kubernetes提供了HeadLiness Service, 这类Service不会分配Cluster IP,如果想要访问service,只能
阅读全文
ClusterIP类型的Service
摘要:Service使用 实验环境准备 在使用service之前,首先利用Deployment创建出3个pod,注意要为pod设置`app=nginx-pod`的标签 创建deployment.yaml,内容如下: apiVersion: apps/v1 kind: Deployment metadata
阅读全文
Service详解之Service介绍
摘要:Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个
阅读全文
Pod控制器详解(CronJob)
摘要:CronJob(CJ) CronJob控制器以 Job控制器资源为其管控对象,并借助它管理pod资源对象,Job控制器定义的作业任务在其控制器资源创建之后便会立即执行, 但CronJob可以以类似于Linux操作系统的周期性任务作业计划的方式控制其运行时间点及重复运行的方式。也就是说, CronJo
阅读全文
Pod控制器详解(Job)
摘要:Job Job,主要用于负责批量处理(一次要处理指定数量任务)短暂的一次性(每个任务仅运行一次就结束)任务。 Job特点如下: 当Job创建的pod执行成功结束时,Job将记录成功结束的pod数量 当成功结束的pod达到指定的数量时,Job将完成执行 Job的资源清单文件: apiVersion:
阅读全文
Pod控制器详解(DaemonSet)
摘要:DaemonSet(DS) DaemonSet类型的控制器可以保证在集群中的每一台(或指定)节点上都运行一个副本。一般适用于日志收集、节点监控等场景。 也就是说,如果一个Pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类Pod就适合使用DaemonSet类型的控制器创建。 Daem
阅读全文
Pod控制器详解(HPA)
摘要:Horizontal Pod Autoscaler(HPA) 前面可以实现通过手工执行`kubectl scale`命令实现Pod扩容或缩容,但是这显然不符合Kubernetes的定位目标--自动化、智能化。 Kubernetes期望可以实现通过监测Pod的使用情况,实现pod数量的自动调整,于是就
阅读全文
Pod控制器详解(StatefulSet)
摘要:StatefulSet(有状态) 概述 无状态应用: 认为Pod都是一样的。 没有顺序要求。 不用考虑在哪个Node节点上运行。 随意进行伸缩和扩展。 有状态应用: 有顺序的要求。 认为每个Pod都是不一样的。 需要考虑在哪个Node节点上运行。 需要按照顺序进行伸缩和扩展。 让每个Pod都是独立的
阅读全文
Pod控制器详解(Deployment)
摘要:Deployment(Deploy) 为了更好的解决服务编排的问题,kubernetes在V1.2版本开始,引入了Deployment控制器。值得一提的是,这种控制器并不直接管理pod,而是通过管理ReplicaSet来简介管理Pod, 即:Deployment管理ReplicaSet,Replic
阅读全文
Pod控制器详解(ReplicaSet)
摘要:Pod控制器详解 Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: - 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建 - 控制器创建的pod:kubernetes通过控制器创
阅读全文
Pod详解之Pod调度(污点和容忍)
摘要:污点和容忍 污点(Taints) 前面的调度方式都是站在Pod的角度上,通过在Pod上添加属性,来确定Pod是否要调度到指定的Node上, 其实我们也可以站在Node的角度上,通过在Node上添加污点属性,来决定是否允许Pod调度过来。 Node被设置上污点之后就和Pod之间存在了一种相斥的关系,进
阅读全文
Pod详解之Pod调度(亲和性调度)
摘要:亲和性调度 两种定向调度的方式,使用起来非常方便,但是也有一定的问题, 那就是如果没有满足条件的Node,那么Pod将不会被运行,即使在集群中还有可用Node列表也不行,这就限制了它的使用场景。 基于上面的问题,kubernetes还提供了一种亲和性调度(Affinity)。 它在NodeSelec
阅读全文