K8S学习
I am 顶尖菜 Dog
希望总是无尽的梦
展开
-
K8S中删除Terminating状态的命名空间
由上面可以看出,咱们删除ingress-nginx服务没删除成功,ingress-nginx命名空间的状态是Terminating 的状态导致删除命令卡主。3.Terminating 状态的命名空间一般使用强制删除的命名是不可以的,咱们使用以下方式删除Terminating状态的命名空间。获取namespace的配置文件,格式为json。2.使用强制删除的命名试验能否删除成功。修改tmp.yaml中的配置。开启apiserver的代理。调用api开始删除,命名如下。以上可以看出删除成功。原创 2024-05-06 16:17:17 · 343 阅读 · 2 评论 -
K8S的一个pod中运行多个容器
ngixn和tomcat都能正常访问。通过deployment的方式部署。创建一个deployment文件。Service的配置。原创 2023-12-17 22:47:22 · 858 阅读 · 0 评论 -
持久化存储 StorageClass
上面文章我们创建的pv和pvc都是静态的,简单的来说静态的pv和pvc需要我们手动的创建,这种情况很大程度上并不能满足我们的需求,比如我们有一个应用需要对存储的并发度要求比较高,而另外一个应用对读写速度又要求比较高,特别是对于StatefulSet类型的应用。StorageClass作为对存储资源的抽象定义,对用户设置的PVC申请屏蔽后端的细节,一方面减轻用户对于存储资源细节的关注,另一方面也减轻了管理员手工管理PV的工作,由系统自动完成PV的创建和绑定,实现了动态的资源供应。原创 2023-12-17 17:19:52 · 1152 阅读 · 0 评论 -
配置POD的CPU和内存的限制
要为容器指定 CPU 请求,请在容器资源清单中包含 resources: requests 字段。要指定 CPU 限制,请包含 resources:limits。要为容器指定内存请求,请在容器资源清单中包含 resources: requests 字段。同理,要指定内存限制,请包含 resources: limits。原创 2023-12-13 18:56:02 · 459 阅读 · 0 评论 -
Service学习与使用
在之前的实例中,创建的Service的IP地址只有集群内部才可以访问,如果希望将Service暴露给集群外部使用,那么就要使用到另外一种类型的Service,称为NodePort类型。LoadBalancer和NodePort很相似,目的都是向外部暴露一个端口,区别在于LoadBalancer会在集群的外部再来做一个负载均衡设备,而这个设备需要外部环境支持的,外部服务发送到这个设备上的请求,会被设备负载之后转发到集群中。上面咱们配置的svc访问后面的tomcat服务是轮询的分别访问的两个pod;原创 2023-12-13 18:24:27 · 426 阅读 · 0 评论 -
存活、就绪和启动探针简单学习了解
如果探测成功,这个 Pod 会被标记为就绪状态,kubelet 将继续每隔 10 秒运行一次探测。除了就绪探针,这个配置包括了一个存活探针。与就绪探针类似,存活探针会尝试连接 goproxy 容器的 8080 端口。在本练习中,你会创建一个 Pod,其中运行一个基于 registry.k8s.io/busybox 镜像的容器。许多长时间运行的应用最终会进入损坏状态,除非重新启动,否则无法被恢复。当我们把容器内部的Tomcat进程停掉以后,存活探针探测8080端口失败以后,kubelet自己重启了容器。原创 2023-12-13 16:09:16 · 440 阅读 · 1 评论 -
K8S+harbor镜像拉取实战
因为我们要在k8s集群的master上面新建由私库拉取下来的镜像生成的pod,而登陆私库需要认证,所以需要获得秘钥认证才可以,这时可以直接用2个节点的秘钥,并生成可用的二进制秘钥,-w 0 表示生成秘钥不转行,默认转行不是正确的格式会出错。陆到harbor,有一个属于自己的认证秘钥,在家目录下的.docker/config.json里面。通过私有仓库下的镜像创建一个pod验证一下。一,先部署镜像仓库harbor服务。没成功下载一次,下载数累加1。harbor镜像上传和下载。安装harbor镜像服务。原创 2023-12-11 16:57:00 · 1075 阅读 · 1 评论 -
Harbor存储的chart包
在安装了ChartMuseum组件后,当用户使用“helm”命令向Harbor推送或拉取Chart时,Harbor的Core组件会首先收到请求,在校验后将请求转发给ChartMuseum进行Chart文件的读写。Harbor在v1.6版本开始支持Helm Chart仓库功能,这样就可以利用 harbor 同时管理镜像和 helm charts 了,无需另外部署一套Helm Chart系统。在harbor中,chart仓库由chartmuseum以插件的方式提供,可以自己选择安装或者不安装。原创 2023-12-11 17:40:03 · 500 阅读 · 1 评论 -
K8S中hostpath的使用
hostPath类型则是映射node文件系统中的文件或者目录到pod里。在使用hostPath类型的存储卷时,也可以设置type字段,支持的类型有文件、目录、File、Socket、CharDevice和BlockDevice。hostPath类似于docker -v参数,将宿主主机中的文件挂载pod中,但是hostPath比docker -v参数更强大,(Pod调度到哪个节点,则直接挂载到当前节点上)原创 2023-12-10 20:36:55 · 532 阅读 · 0 评论 -
亲和性与反亲和性学习
例如,如果我们有一个具有指定区域(称之为 “Zone V”)的集群,此区域由带有 topology.kubernetes.io/zone=V 标签的节点组成,那么只要 Zone V 内已经至少有一个 Pod 打了 security=S1 标签, 调度器就可以将此 Pod 调度到 Zone V 内的任何节点。当调度器找到能够满足 Pod 的其他调度请求的节点时,调度器会遍历节点满足的所有的偏好性规则, 并将对应表达式的 weight 值加和。在调度器为 Pod 作出调度决定时,总分最高的节点的优先级也最高。原创 2023-12-10 20:04:43 · 823 阅读 · 0 评论 -
污点与容忍学习
污点:是标注在节点上的,当我们在一个节点上打上污点以后,k8s 会认为尽量不要将 pod 调度到该节点上,除非该 pod 上面表示可以容忍该污点,且一个节点可以打多个污点,此时则需要 pod 容忍所有污点才会被调度该节点。容忍:是标注在 pod 上的,当 pod 被调度时,如果没有配置容忍,则该 pod 不会被调度到有污点的节点上,只有该 pod 上标注了满足某个节点的所有污点,则会被调度到这些节点。NoSchedule:不能容忍的 pod 不能被调度到该节点,但是已经存在的节点不会被驱逐。原创 2023-12-10 17:29:09 · 403 阅读 · 0 评论 -
一个nginx的deployment文件
【代码】一个nginx的deployment文件。原创 2023-12-08 16:51:22 · 351 阅读 · 0 评论 -
ConfigMap配置ConfigMap热更新及学习
https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-pod-configmap/ —kubernetes官网介绍ConfigMap的地址。本页提供了一系列使用示例,这些示例演示了如何创建 ConfigMap 以及配置 Pod 使用存储在 ConfigMap 中的数据。上面是通过configmap定义环境变量的配置,咱们在演示一个通过configmap定义容器内配置文件相关的配置。原创 2023-12-08 14:42:52 · 693 阅读 · 0 评论 -
Label 与 Label Selector学习
资源的分类和归类:可以根据业务需求或其他条件为资源打上不同的标签,例如将前端和后端服务分别打上"frontend"和"backend"的标签,或者根据环境将资源打上"dev"或"prod"的标签,从而方便对资源进行分类和组织。这样就可以根据标签进行资源的筛选和过滤,例如通过标签选择器将特定标签的Pod部署到指定的节点上。资源的版本管理:可以使用不同的标签来区分资源的版本,例如为应用程序的不同版本打上不同的标签,方便进行版本切换或回滚。修改pod中的标签的值的话可以通过修改deployment去更改。原创 2023-12-07 10:30:38 · 427 阅读 · 0 评论 -
Pod管理与使用
在K8S中,Pod是最小的调度单位,可以理解为一组相关的容器集合。通过合理配置Pod的规格和资源,可以实现高效的容器编排和资源利用。使用kubectl describe pod <pod名称>命令可以查看指定Pod的详细信息。可以通过在Pod的描述文件中设置资源请求和限制来管理Pod使用的计算资源(CPU、内存等)。使用kubectl delete pod <pod名称>命令可以删除指定的Pod。K8S会根据节点上的资源情况进行合理的调度,以保证各个Pod的资源需求被满足。原创 2023-11-29 21:44:36 · 410 阅读 · 1 评论 -
Deployment管理与使用
Deployment管理与使用原创 2023-11-29 21:19:22 · 393 阅读 · 1 评论 -
K8S学习-deployment创建容器
通过deployment创建容器。原创 2023-10-16 22:04:44 · 95 阅读 · 1 评论 -
K8S学习-通过K8S创建一个容器
然后指定nginx-demo.yaml这个文件去创建容器。在yaml文件中定义容器的创建规则。原创 2023-10-16 21:21:38 · 150 阅读 · 1 评论