一、系统环境&&准备工作 Kubernetes版本信息 Kubesphere版本3.3.1在安装之前需要配置kubernetes默认存储类型Storageclass,因为在最小化部署kubesphere很多组件需要依赖sc存储,因此需要事先将sc准备就绪,然后在这里我是采用NFS作为k8s以及kubesphere默认存储类型,关于如何创建NFS作为Storageclass存储类,下面将会写到 kubectlgetstorageclass NAMEPROVISIONERRECLAIMPOLICYVOLUMEBINDINGMODEALLOWVOLUMEEXPANSIONAGE ...

  T5Bv8I9TIFQW   2023年11月13日   28   0   0 linuxkubernetesKubeSphere

前言 在Kubernetes日常维护中,都会出现各种业务需求,比如当一个DeploymentPod资源类型启动之后,我还需要让它在业务容器生命周期中,执行一些自定义任务内容,那么该如何满足这一需求呢?这时候就引入一个概念PodHook(钩子)。本篇将会结合实际生产案例,带大家了解一下PodHook独特魅力 PodHook类型 InitContainersHook 对于初始化容器钩子,它们在Pod中所有容器Running之前运行,这意味着初始化容器钩子将在Pod中的任何其它容器的ENTRYONINT之前执行,允许执行在正式容器启动之前执行一些额外的逻辑,例如初始化数据,创建配置文件等,初始化容器...

  T5Bv8I9TIFQW   2023年11月13日   21   0   0 生命周期kubernetes执行上下文Pod

前言 在如今的业务环境中,越来越多的应用采用了微服务架构,微服务的特性就是功能迭代版本较快,管理更加复杂,发布更加频繁。那么在每次有版本更新迭代的需求,如果直接将新版本发布给用户,那么在上线期间遭遇线上事故(或者突发Bug),那么这种情况对于用户来说是影响极大,解决问题周期较长,甚至不得不回滚至前一个版本来应对该问题,那么即使解决了问题那么也严重影响了用户体验。为了保证整体系统的稳定,将风险点位降到最低,我们可以采用灰度发布或者蓝绿发布等不同的发布方式。在技术架构体系中,灰度发布的方式有很多,那么在Kubernetes架构中,它的灰度是如何做的呢?接下来将会结合一些实际案例来说明。 金丝雀发布...

  T5Bv8I9TIFQW   2023年11月13日   17   0   0 Ingress灰度发布kubernetes

一、前言 2023年10月11号下午17:16分,临近下班之际,研发同事在办公室发出了尖锐的爆鸣声....紧接着企业微信呼唤,说线上项目突然无法正常发版了....与此同时接收到消息,便展开一系列排查。 二、排查思路定位 从报错信息上来看,在gitpull项目的过程就出错了,提示无法写入新的配置文件.....config.lock stderr:error:failedtowritenewconfigurationfile/home/jenkins/agent/workspace/TRTD-tcm-web-patient/.git/config.lock 大家看到这个信息首先会想到什么...

  T5Bv8I9TIFQW   2023年11月13日   25   0   0 Jenkins

一、前言 前段时间接到一个新的互联网医院项目,因当时资源有限,底层业务存储只能使用NFS,并且是单点,为了避免后续因单点造成数据丢失,需要对现有的环境进行改造,使其升级为双击热备,高可用NFS存储; 二、系统环境 节点角色 系统环境 IP 组件服务 Matser Centos7.0 10.10.203.180 Rsync+Inotify\NFS+Keepalived Slave Centos7.0 10.10.203.167 Rsync+Inotify\NFS+Keepalived 三、NFS高可用部署 高可用逻辑: Kubernetes对接存储IP为VIP(非单点)N...

  T5Bv8I9TIFQW   2023年11月02日   71   0   0 服务器linuxNFS

一、前言 每家互联网业务迭代更新都会有自己的一套DevOps发布上线技术架构体系,不管是采用什么工具都离不开编译、打包、发布、部署这几个步骤,随着互联网快速的发展,为了满足企业业务上线需求,大批的技术人员都研发出各种有意思的开源工具,像我们熟知的Jenkins、Spug等,都为我们互联网公司业务上线发版带来很多便利,那么接下来我将会给大家介绍一下,适用于Kubernetes环境的一套CICD技术架构解决方案 二、技术架构介绍 如下图所示,项目业务都是运行在Kubernetes集群环境中,然后基于JenkinsPipline去更新迭代我们的业务镜像版本发布至Kubernetes,服务上线完毕之后...

  T5Bv8I9TIFQW   2023年11月02日   53   0   0 gitJenkinsDocker

一.前言 在企业项目发版本过程中,以Jenkins为例,个别项目构建时间较长,不想时刻关注构建情况,或构建成功后移交其他人继续处理,需要配置企业微信通知功能,本篇主要是针对pipeline流水线项目,如何实现Jenkins构建成功与否通知到消息至企业微信指定人 二.实现过程 2.1企业微信创建机器人 这里采用比较简单的方法实现,主要是通过Pipeline+Shell,Pipeline对shell还是比较有好的,这里首先必须要选择企业微信,创建2~3人以上的群聊,随后添加一个群机器人 创建机器人主要是为了接收我们传递的消息和提供一个控制它的API,这里我们只需要记住机器人的webhook,下面...

  T5Bv8I9TIFQW   2023年11月02日   69   0   0 JenkinsDocker

一、前言 于今天即将下班之际,研发同事反馈xxx项目开发环境调用java后端服务出现502....据悉,就在前几天都是正常,今天发版上线之后就出现这种情况,故障出现之后根研发自行调用后端服务接口是没问题的.... 随即我这边开始展开紧急处理 二、排查思路 首先对于502错误通常表示服务器作为网关或代理时从上游服务器接收到无效的响应。这意味着上游服务器无法提供有效的响应给网关服务器 分析502状态码,在日常维护中哪些原因可能会导致这种情况的发生? 网络问题:nginx负载器到后端服务端口不通,网络连接异常会导致 系统问题:前后端服务器的磁盘问题,也会间接性的导致502的发生 上面两种问题是...

  T5Bv8I9TIFQW   2023年11月02日   54   0   0 服务器nginx后端服务

一、前言  在Kubesphere日常维护中,我们经常会遇见Pod各种异常状态,接触过k8s的童鞋一定知道CrashloopBackOff这个状态,那么哪些情况会导致该状态的发生,如何去定位问题呢?下面将会结合实际案例,给大家一一讲到 二、分析 Pod如何一直处CrashloopBackOff 状态,说明之前是启动了,只是又挂掉了而已,只要Pod的RestartPolicy(Pod重启策略)不是Never就可能被重新拉取 通过kubectldescribe查看pod事件信息,通过事件信息中的Pod中ExitCode定位异常退出原因 kubectldescribepodk...

  T5Bv8I9TIFQW   2023年11月02日   57   0   0 APIKubeSphere

一、前言 2023年7月23日在项目上线前夕,K8s生产环境出现故障,经过紧急修复之后,K8s环境恢复正常;另外我们环境引入了kubesphere云原生平台技术,为了方便研发人员对于K8s权限的细粒度管理,我方手动将kubernetesnamespace(生产环境业务命名空间)加入到kubesphere中的workspace(企业空间),就在此时,发生了让人后背一凉,极度可怕的事故,就是生产命名空间(namespace)被自动删除了,熟悉K8s的人都知道,这意味着什么,意味着该命名空间下的所有数据,都被清空了。 二、问题简述 2.1事故来龙去脉 我们项目环境有两套k8s集群即生产/测试,两套K...

  T5Bv8I9TIFQW   2023年11月02日   47   0   0 kubernetesKubspherens

一前言 2020年由于受到新冠疫情的影响,我国互联网医疗企业迎来了“爆发元年”,越来越多居民在家隔离期间不方便去医院看诊,只好采取在线诊疗的手段,互联网医疗企业的迅速发展的同时,也暴露出更多的不足,互联网医疗作为医疗行业发展的趋势,对于解决中国医疗资源分配不平衡和人们日益增长的医疗健康需求之间的矛盾具有诸多意义。但对于能否切实解决居民就诊的问题,以及企业能否实现持续发展等是国家以及企业十分关注的问题。而我司在这条道路上沉淀多年,一直致力于互联网医疗服务,拥有自己完善医疗产品平台以及技术体系 二、项目简介 2.1建设目标 第三方客户业务环境均是IDC自建机房环境,提供虚拟化服务器资源,计划引入K...

  T5Bv8I9TIFQW   2023年11月02日   25   0   0 kubernetesDevopsKubeSphere

前言 在上一篇文章中,带大家认识了在日常生产环境基于ingressCanary策略实现业务的灰度发布,本篇文章将会介绍KubeSphere的灰度发布机制,这才是我们的重头戏 KubeSphere灰度发布原理 KubeSphere基于lstio向用户提供部署灰度服务所需要的控制功能,在灰度发布中,可以引入服务的新版本,并向其发送一部分流量来进行测试,同时,旧版本负责处理剩余的流量请求,如果一切顺利,则可以逐渐增加新版本流量比例,同事逐步停用旧版本,如果出现任何问题,可直接基于KubeSphere更改流量比例来回滚至先前版本 灰度发布实现 启用相关依赖组件服务 开启lstio服务网格、loggin...

  T5Bv8I9TIFQW   2023年11月02日   33   0   0 灰度发布KubeSphere
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~