![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
k8s
文章平均质量分 61
YY小记
这个作者很懒,什么都没留下…
展开
-
nginx 多层代理 + k8s ingress 后端服务获取客户真实ip 配置
ingress 多层代理获取真实客户端ip原创 2023-09-28 18:21:30 · 1356 阅读 · 0 评论 -
关于 Kubernetes 的这些原理,你一定要了解
kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群、滚动升级回滚、弹性伸缩、自动治愈、服务发现等多种特性能力。本文将带着大家快速了解 kubernetes ,了解我们谈论 kubernetes 都是在谈论什么。kubernetes 架构从宏观上来看 kubernetes 的整体架构,包括 Master、Node 以及 Etcd。Master 即主节点,负责控制整个 kubernetes 集群。它包括 Api Server、Scheduler、Controll原创 2020-08-11 11:44:14 · 744 阅读 · 0 评论 -
K8S故障排查指南- but volume paths are still present on disk
问题产生在使用 Kubernetes 时,有时会遇到 Pod 状态一直处理 Terminating。Pod 一直没有正常退出,一般情况会使用命令 kubectl delete pods pod-name --force --grace-period=0 强制删除。如果按照上面命令强制删除Pod,有一定概率会报 Orphaned pod found - but volume paths are still present on disk 错误。问题排查上面错误信息可以通过 journalctl -u原创 2020-06-29 10:26:56 · 2221 阅读 · 0 评论 -
Kubeconfig文件自动合并-实现K8S多集群切换
前言随着 Kubernetes 越来越流行,不管大公司还是小公司都往 Kubernetes 迁移,每个公司最少有两套集群(测试和生产),但是多个集群就有多个 Kubeconfig 用户授权文件。虽然官方文档中有介绍多个 Kubeconfig 文件合并成一个 Kubeconfig,但是对于一些新手来说,看得不是很明白。本文介绍 Kubeconfig 文件结构,并推荐一个工具自动合并 Kubeconfig。Kubeconfig 用途kubectl 命令行工具通过 kubeconfig 文件的配置来选择集原创 2020-06-22 10:31:02 · 1642 阅读 · 0 评论 -
helm v2升级v3版本遇到的疑难杂症
Helm V3 与 V2 版本架构变化较大,数据迁移也比较麻烦,官方为了解决数据迁移问题,提供一个 helm-2to3 工具,本文基于 helm-2to3 工具来迁移 V2 版本中的数据。注意:Helm V2 升级 V3 版本,Kubernetes 集群中 Deployment、Service、Pod等都不会重新创建,所以迁移过程是不会影响线上在跑的服务。安装 Helm V3 命令下载 helm 最新 v3.2.3 版本$ wget https://get.helm.sh/helm-v3.2.3-l原创 2020-06-17 15:14:18 · 1107 阅读 · 0 评论 -
K8s 中 PV 和 PVC 的状态变化
我们对 PV 和 PVC 的几种状态应该不算陌生,但是在使用过程中可能也会产生一些疑问,比如为什么 PVC 变成 Lost 状态了,新创建的 PVC 如何能够绑定之前的 PV,我可以恢复之前的 PV 吗?这里我们就来对 PV 和 PVC 中的几种状态变化再次进行说明。在不同的情况下,PV 和 PVC 的状态变化我们用如下所示的表格来进行说明:创建PV正常情况下 PV 被创建成功后是 Available 状态:apiVersion: v1kind: PersistentVolumemetada.原创 2020-06-15 10:34:11 · 7972 阅读 · 0 评论 -
Kubernetes 亲和与反亲和实例
K8S亲和与反亲和简介 [1]nodeSelector 提供了一种非常简单的方法来将 pod 约束到具有特定标签的节点上。亲和/反亲和功能极大地扩展了你可以表达约束的类型。关键的增强点是(1) 语言更具表现力(不仅仅是“完全匹配的 AND”)(2) 你可以发现规则是“软”/“偏好”,而不是硬性要求,因此,如果调度器无法满足该要求,仍然调度该 pod(3) 你可以使用节点上(或其他拓扑域中)的 pod 的标签来约束,而不是使用节点本身的标签,来允许哪些 pod 可以或者不可以被放置在一起亲和功能包含原创 2020-05-25 15:31:54 · 335 阅读 · 1 评论 -
基于 k8s 构建企业 Jenkins 持续集成平台
内容:1、安装nfs服务器2、部署Jenkins3、Kubernetes 动态创建 Jenkins Slave 配置4、Jnekins Pipeline 介绍与动态生成 Jenkins Slave5、Jenkins Pipeline 自动化在 kubernetes 部署应用6、Jenkins新皮肤:BlueOcean1.安装nfs服务器yum install -y nfs-utils配置nfs可挂载数据目录[root@localhost ~]# vim /etc/exports/mn原创 2020-05-22 16:51:08 · 685 阅读 · 0 评论 -
非容器化jenkins 连接k8s 集群
1.jenkins 添加kubernetes plugin2.点击系统管理->系统设置-添加一个云,在下拉菜单中选择kubernets并添加我的是Jenkins 2.235点击这个连接配置k8s,如下图:3.填写云kubernetes配置内容注:Name值任意添加,Kubernetes 地址 值添加K8S apiserver连接地址和端口,jenkins 地址值添加jenkins UI访问地址和端口,4.配置云kubernetes连接K8S集群的验证文件查看k8s的 /root/原创 2020-05-20 15:30:42 · 2953 阅读 · 0 评论 -
k8s 进行pod级的抓包
1 列出待抓包的pod 及分布在哪些节点上[root@iZbp18at9sb674mrpzdu60Z ~]# kubectl get pod -l app=sso-gateway2 -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESsso-gateway2-原创 2020-05-19 15:11:36 · 1890 阅读 · 0 评论 -
k8s之StatefulSet详解介绍
概述RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的,而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。StatefulSet本质上是Deployment的一种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Pod名称,启停顺序,在StatefulSet中,Pod名字称为网络标识(hostname),还必须要用到共享存储。原创 2020-05-15 10:56:13 · 9315 阅读 · 1 评论 -
K8s Pod Command 与容器镜像 Cmd 启动优先级详解
前言创建 Pod 时,可以为其下的容器设置启动时要执行的命令及其参数。如果要设置命令,就填写在配置文件的 command 字段下,如果要设置命令的参数,就填写在配置文件的 args 字段下。一旦 Pod 创建完成,该命令及其参数就无法再进行更改了。启动优先级下表给出了 Docker 与 Kubernetes 中对应的字段名称:描述 Docker字...原创 2020-05-06 14:50:30 · 5172 阅读 · 0 评论 -
k8s event 事件输入elk 并设置钉钉报警
K8s事件监控kube-eventer一 背景目前k8s监控可以分为:资源监控,性能监控,安全健康等,但是在K8s中,如何表示一个资源对象的状态及一些列的资源状态转换,需要对k8s的events事件监控来表示,目前阿里有开源的K8s事件监控项目kube-eventer, 其将事件分为两种,一种是Warning事件,表示产生这个事件的状态转换是在非预期的状态之间产生的;另外一种是Normal事件...原创 2020-04-22 16:13:46 · 885 阅读 · 0 评论 -
k8s pod创建流程
1.kubectl 向api-server提交创建deploy的请求,然后api-server将请求记录到etcd中。2.controler 通过API Server的Watch接口,发现新的deploy,将deploy加入到任务队列,发现没有与deploy相对应的pod,rs,就启动deploy control 机制创建与之对应的pod,rs,deploy3.所有controler正常后,...原创 2020-04-15 14:05:28 · 1259 阅读 · 0 评论 -
Kubernetes Pod钩子
1、Pod容器钩子最终目的之前在生产环境中使用dubbo框架,由于服务更新的过程中,容器直接被停止了,部分请求仍会被分发到终止的容器,导致有用户会访问服务出现500错误,这部分错误请求数据占用的比较少,因为Pod是滚动一对一更新。由于这个问题出现了,考虑使用优雅的终止方式,将错误请求将至到最低,直至滚动更新完全不会影响到用户。简单分析一下 优雅的停止Pod微服务中,网关会把流量分配给每个Po...原创 2020-04-14 16:16:52 · 293 阅读 · 0 评论