草庐IT

聊聊部署在K8S的项目如何获取客户端真实IP

前言最近部门有个需求,需要对一些客户端IP做白名单,在白名单范围内,才能做一些业务操作。按我们的部门的一贯做法,我们会封装一个client包,提供给业务方使用。(注:我们的项目是运行在K8S上)本以为这是一个不是很难的功能,部门的小伙伴不到一天,就把功能实现了,他通过本地调试,可以获取到正确的客户端IP,但是发布到测试环境,发现获取到的客户端IP一直是节点的IP,后面那个小伙伴排查了很久,一直没头绪,就找到我帮忙一直排查一下。今天文章主要就是来复盘这个过程排查过程首先先排查了一下他获取客户端IP的实现逻辑publicclassIpUtils{privatestaticLoggerlogger=

k8s部署Calico网络插件出现Init:ImagePullBackOff

配置环境:CentOS7.9docker-ce-19.03.15kubeadm-1.22.17-0kubelet-1.22.17-0kubectl-1.22.17-0配置过程略。。。在部署单Master时,想要其他的node节点加入到集群中来,然后就显示其中一个node节点的准备状态是NotReady 此时这里我们用到的网络插件:Calicokubectlapply-f https://gitee.com/leedon21/k8s/raw/master/calico-v3.22.yaml使用kubectl命令工具查看所有的核心组件 kubectlgetno可以看到有一个node节点还是NotR

云原生周刊 | 百家争鸣的边缘计算时代即将到来?| 2022-11-14

今年的KubeCon大会有一个很奇怪的现象,到场的几乎都是小公司,没有大公司。可能是因为这些大公司恰好在这个时候都有自己的活动要举办,也有可能是他们正在快马加鞭研发他们的边缘计算方案?因为Gartner预测到2025年,75%的计算将会发生在边缘侧,所以现在每一家厂商都在努力探索各自的边缘计算解决方案。例如微软的AKSLite(之前叫ProjectHaven)现已进入公开预览阶段,由AzureArc集中管理,同时支持Linux和Windows。SUSE也推出了SUSEEdge2.0方案,与AKSLite类似,底层都是基于K3s。KubeSphere从v3.1.0开始便与KubeEdge深度集成

云原生周刊 | 百家争鸣的边缘计算时代即将到来?| 2022-11-14

今年的KubeCon大会有一个很奇怪的现象,到场的几乎都是小公司,没有大公司。可能是因为这些大公司恰好在这个时候都有自己的活动要举办,也有可能是他们正在快马加鞭研发他们的边缘计算方案?因为Gartner预测到2025年,75%的计算将会发生在边缘侧,所以现在每一家厂商都在努力探索各自的边缘计算解决方案。例如微软的AKSLite(之前叫ProjectHaven)现已进入公开预览阶段,由AzureArc集中管理,同时支持Linux和Windows。SUSE也推出了SUSEEdge2.0方案,与AKSLite类似,底层都是基于K3s。KubeSphere从v3.1.0开始便与KubeEdge深度集成

【云原生-K8s-1实例】通过yaml 文件编排一个web-MySQL小项目

🍁博主简介  🏅云计算领域优质创作者  🏅华为云开发者社区专家博主  🏅阿里云开发者社区专家博主💊交流社区:运维交流社区欢迎大家的加入!文章目录1、启动mysql项目1-1创建mysql-rc.yaml1-1-1将RC发布到k8s集群里面去1-1-2查看集群中的pods1-1-3负载均衡副本实例(数据库不需要开多个副本)这里只举例如何多开副本1-2创建mysql-svc.yaml1-2-1将services应用到集群中1-2-2查看services1-3附加:如何找到并进入mysql数据库中?2、启动tomcat项目2-1拉取特定的tomcat镜像2-2创建tomcat-rc.yaml2-2-

解决国内k8s的ingress-nginx镜像无法正常pull拉取问题

一、问题描述我们期望运行Ingress就必须给我们的集群创建Ingresscontroller目前官方推荐的controller有:[目前支持和维护AWS,GCE和nginxIngress控制器]https://kubernetes.io/zh/docs/concepts/services-networking/ingress-controllers/我们使用nginx控制器,其官网给出的配置方法如下:https://kubernetes.github.io/ingress-nginx/deploy/#不使用helm,使用yamlkubectlapply-fhttps://raw.github

【博客606】k8s如何查看pod崩溃前的日志及其原理

k8s如何查看pod崩溃前的日志及其原理场景当pod处于crash状态的时候,容器不断重启,此时用kubeletlogs可能出现一直捕捉不到日志解决方法:kubeletprevious参数作用:Iftrue,printthelogsforthepreviousinstanceofthecontainerinapodifitexists.单容器pod:kubectllogspod-name--previous多容器pod:kubectllogspod-name--previous-ccontainer-name示例NAMEREADYSTATUSRESTARTSAGEnginx-7d8b49557

【博客606】k8s如何查看pod崩溃前的日志及其原理

k8s如何查看pod崩溃前的日志及其原理场景当pod处于crash状态的时候,容器不断重启,此时用kubeletlogs可能出现一直捕捉不到日志解决方法:kubeletprevious参数作用:Iftrue,printthelogsforthepreviousinstanceofthecontainerinapodifitexists.单容器pod:kubectllogspod-name--previous多容器pod:kubectllogspod-name--previous-ccontainer-name示例NAMEREADYSTATUSRESTARTSAGEnginx-7d8b49557

K8S安装记录

https://kubernetes.io/zh-cn/docs/setup/production-environment/container-runtimes/https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ 在master和worker节点上安装containerd、kubelet、kubeadm、kubectllsmod|grepbr_netfilterlsmod|grepoverlay#以上两个命令应该有输出,否则需要做如下设置:#catsudotee/etc/m

初始化K8S集群

文章目录使用介绍环境介绍一、刚开始搭建k8s集群时重新初始化(node节点还未添加)二、K8S搭建完毕后重新初始化使用介绍当刚开始搭建k8s集群报错(端口/数据已经生成)或k8s集群正在使用时遇到了不可修复的问题需要初始化集群时可以使用。谨慎使用环境介绍名称版本操作系统IP备注K8S集群1.20.15Centos7.9192.168.11.21192.168.11.22192.168.11.2311.21为k8s-master0111.22为k8s-node0111.23为k8s-node02一、刚开始搭建k8s集群时重新初始化(node节点还未添加)11.21:rm-rf/etc/kuber