• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

标签: Kuberneters


阿里云 pod 间不能通过 ingress 的域名 进行访问 解析

问题现象如图:纠正首先我们要纠正一下上面的图,使用 ingress 暴露服务的时候,结构图应该是下面的样子问题分析负载均衡(slb)的地址一般都是供集群外部使用的,它会被当作 service 的扩展 ip,被 iptables 转发。默认,ingress 创建的 service 的 externalTrafficPolicy 属性  为 Local ,所以 pod a 可以访问 pod c 是因为,正好 pod a 和 ingress 的 pod 在同一个 node 上面,所以 pod a 可以访问所有 ingress 服务而 pod b 和 pod c 不在同一个 node 上面,... ...
阅读全文

关于 deployment label 和其 template 的 label

有这么一个资源清单apiVersion: apps/v1 kind: Deployment metadata:   name: deployment-nginx   labels:     app: pod-nginx spec:   replicas: 2   selector:     matchLabels:       ... ...
阅读全文

kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

故障表现在安装kubernetes的过程中,会出现failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"原因是docker 默认  cgroup driver 是 cgroupkubelet... ...
阅读全文

k8s 切换上下文context工具 kubectx 切换命名空间工具 kubens

可以前往【github】或者【本站】下载。kubectx 和 kubens 是一个脚本,可以帮助你在多个上下文和命名空间之间切换。并且支持 TAB 自动补全功能。他们俩同属于一个包内。一、两个脚本的安装下载最新版的,目前是 0.71版。安装在 centos7 中cd /opt # 由于安全设置,下载本站的包,要手动下载 wget https://github.com/ahmetb/kubectx/archive/v0.7.1.zip unzip kubectx-0.7.1.zip  mv kubectx-0.7.1 kub... ...
阅读全文

通过 kubeconfig 文件 管理切换 多用户 多k8s集群

一、概述kubectl 命令访问集群时,默认情况下在 $HOME/.kube 目录下寻找名为 config 的配置文件,配置文件中包含集群ip地址、端口号、用户名、密码、证书、名称空间等信息,kubectl 据此建构访问集群的上下文。也可以通过 KUBECONFIG 环境变量 或者 --kubeconfig 覆盖默认配置文件。在实际应用中,往往需要同时使用多套环境如开发、测试、显示、生产等。一个 kubectl 客户端需要使用多个用户、多种认证授权机机制,访问不同集群、不同名称空间。Kubernetes 通过 Kubeconfig 为 kubectl 命令组织管理各种不同的接入场景。二、定义集... ...
阅读全文

k8s pod 停止流程 preStop 停止前处理 自定义 --grace-period 宽限期

【官网 Termination of Pods】因为 pod 是在集群节点运行的程序,当不再需要而删除他们的时候,让他们正常终止是非常重要的。用户应该能够请求删除并知道进程何时终止,而且还能够确保删除最终完成。当用户请求删除Pod时,系统将 TERM 信号发送到 pod 中 每个容器中的主进程,然后等待一个宽限期(grace period),超过宽限期就发送 KILL 信号强制杀死 pod。示例流程:用户发送命令删除Pod,默认宽限期为 30 秒API 服务器中的 Pod 设定宽限期,超过该时间 Pod 被强制删除。在客户端命令中列出时,Pod 显示状态为“正在终止(Terminating)”... ...
阅读全文

k8s svc的externalTrafficPolicy属性 跨node不通 保留客户端源IP

起因k8s上面的一个 pod 调用一个  slb 的 service,时通时不通,现象为:当 pod 调用 svc 的 endpoint 和他同一个 node 就通,不同 node 就超时不通。后来发现是 svc 的属性 externalTrafficPolicy 设置为 local 引起的externalTrafficPolicy  查看帮助这个 属性的目的是 保留 客户单 源 IP 的。详见【官网介绍】[root@tmp opt]# kubectl explain svc.spec.externalTrafficPolicy KI... ...
阅读全文

Kubernetes 中使用 自制 kaniko 构建镜像

kaniko 介绍通常标准 Dockerfile 的生成需要与 Docker 后台进程交互访问,因此需要本机 root 权限。在 Docker 后台进程无法暴露的场景下生成容器镜像就很困难。Kaniko 就是为解决这类问题而生的,Kaniko 是由 Google 开发。它是一个不需 root 特权就可以从 Dockerfile 中生成镜像,并将镜像推送到指定 registry。因为 Kaniko 不需要特权,因此用户可以在标准 Kubernetes 集群、Google Kubernetes 引擎、以及其它无法访问 Docker后台进程环境中运行。github地址: https://github... ...
阅读全文

Docker 安装 MySQL 表文件区分 大小写问题 lower_case_table_names

MySQL 大小写敏感规则MySQL中,一个库会对应一个文件夹,库里的表会则以文件的方式存放在文件夹内,所以,操作系统对大小写的敏感性决定了数据库和表的大小写敏感(MySQL有一个只读的系统变量lower_case_file_system,其值反映的正是当前文件系统是否区分大小写)因此:在Windows下Mysql的数据库和表名是大小写不敏感的,而在大多数类型的Unix系统中是大小写敏感的默认情况下MySQL的大小写区分规则在Linux下:1、数据库名与表名是严格区分大小写的;2、表的别名是严格区分大小写的;3、列名与列的别名在所有的情况下均是忽略大小写的;4、变量名也是严格区分大小写的;&n... ...
阅读全文

k8s 支持私有镜像 从私有仓库拉取镜像

方法一:yml 文件加入密钥参数。详情信息参见官方文档 使用私有仓库。创建 docker-registry 类型的 secretkubectl create secret docker-registry regsecret --docker-server=registry-internal.cn-hangzhou.aliyuncs.com --docker-username=abc@aliyun.com --docker-password=xxxxxx --docker-email=abc@al... ...
阅读全文

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。