k8s
文章平均质量分 73
k8s学习、认证及实践分享
lv2
10年+网络、运维、devops工作经验,CCIE、CKA、linux、系统集成等认证,寻求志同道合好友,共同学习进步~
展开
-
可视化bi工具datart部署到k8s
datart 是新一代数据可视化开放平台,支持各类企业数据可视化场景需求,如创建和使用报表、仪表板和大屏,进行可视化数据分析,构建可视化数据应用等。部署 | datart (running-elephant.github.io)官方有源码安装和docker部署两种方式,这里通过k8s进行部署,需要准备mysql(外置环境),pvc存储(这里用nfs)原创 2023-07-21 10:37:17 · 739 阅读 · 0 评论 -
关于java k8s容器环境中的jvm配置与优化
环境版本备注k8sv1.22+配置cpu/mem limit、健康/就绪检查openjdk8k8s容器化(docker)环境更好的解决了 java app 运行环境的封装问题。但存在着一些限制,比如 Java 并不能发现 pod 设置的内存限制(mem limit,java 默认以宿主机的内存为基准),当 java 内存占用超出 pod mem limit限制时,很容易导致OOM,导致pod重启(健康检查不通过),使服务无法正常对外提供服务等。# 异常查看方法# 可以查看系统日志。原创 2023-05-30 17:30:07 · 3557 阅读 · 0 评论 -
k8s 微服务spring boot JVM 监控
使用SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息、健康检查、审计、统计和HTTP追踪等。服务增加spring-boot-starter-actuator依赖 -> 启用 prometheus和health监控 -> 配置 prometheus 监控 -> 添加grafana dashboard。targets正常后,可以查询Jvm相关监控指标,如jvm_memory_used_bytes。原创 2023-01-11 12:01:47 · 3146 阅读 · 1 评论 -
k8s 部署canal admin及server单机服务
主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。部署清单部署步骤a. 初始化数据库及创建用户b. 编写 K8s yaml文件 mysql执行以下sql脚本,创建库 'canal_manager' 用来存放canal-admin的数据,server、instance配置等数据2.2 canal-admin k8s yaml部署文件创建部署 deployment.yaml,资源清单包含:service,deployment,configmap,ingress。使用官方c原创 2023-01-04 11:25:43 · 1741 阅读 · 1 评论 -
k8s & docker空间使用分析与清理
使用 Docker 运行业务一段时间后,可能会出现宿主节点的磁盘容量占用高,导致宿主机磁盘空间不足等异常,对业务造成影响。本文对 Docker 的空间占用进行汇总分析,以及对应的清理操作进行说明,希望能帮到大家~在日常使用中,安装docker后做好优化配置工作,如配置json log大小及文件限制,定期清理无用的容器和镜像,可以减少docker 空间占用导致宿主机磁盘空间不够导致的各种问题。当遇到以上措施无法处理的情况的时候,要灵活使用docker system df -v的命令进行故障排查分析。原创 2022-12-27 17:25:04 · 2957 阅读 · 9 评论 -
xxl-job-admin 运行在K8S环境
docker镜像有两种获取方式,一种是手动打包(maven)源码生成Jar包,再通过docker build生成镜像(基础镜像openjdk1.8),另一种是使用官方镜像:xuxueli/xxl-job-admin:2.3.0,出于方便,这里直接使用官方提供的镜像。上面已经部署了域名,所以直接访问域名:xxl-job-admin.test.cn/xxl-job-admin/,默认帐号密码:admin/123456。XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。原创 2022-11-04 10:35:23 · 851 阅读 · 0 评论 -
玩转rancher 2.6之 monitor监控
参考RancherLabs 文章:( Rancher2.6全新Monitoring快速入门_RancherLabs的博客-CSDN博客对rancher monitor使用过程中的配置讲解补充,补充了alertmanger发送钉钉告警的实现过程,通过安装dingtalk插件完成钉钉机器人告警推送,详细如下。原创 2022-10-28 15:19:36 · 2473 阅读 · 6 评论 -
流量治理Sentinel dashboard K8S部署
Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。核心库(Java 客户端):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对Dubbo /Spring Cloud 等框架也有较好的支持。控制台(Dashboard):主要负责管理推送规则、监控、管理机器信息等。原创 2022-10-01 01:00:00 · 969 阅读 · 0 评论 -
使用外部mongodb 及 k8s 部署 yapi
内网部署GitHub - YMFE/yapi: YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台安装mongodb(这里用的是云mongodb,过程略),创建yapi库,用户yapi创建dockerfile,手动编译yapi镜像创建pvc,用于存放yapi数据文件创建deployment、svc、ingress、configmap部署及初始化初始化完成正常使用。原创 2022-09-28 11:21:38 · 1359 阅读 · 0 评论 -
玩转aws之(一)eks集群部署
aws官方用户指南中关于创建EKS集群部分,看了几次才理解了整个创建过程,这里总结了创建集群的过程和步骤,可以通过eksctl、管理控制台和aws cli创建集群,这里通过管理控制台进行创建EKS创建后默认没有worker节点、附加组件只有vpc cni、coredns、kubeproxy,因此需要自己添加worker节点和其它自定义组件,如ingress controll创建步骤创建集群角色创建EKS集群添加node配置kubectl安装ingress/alb(可选)原创 2022-09-23 09:35:18 · 2898 阅读 · 0 评论 -
K8S免密拉取私有仓库容器镜像
K8S从私有仓库拉取镜像有多种方式,其中用云托管的K8S,可以使用云厂商的扩展实现免密拉取,如果是自建K8S集群,则建议节点配置私有仓库身份认证或在Pod中设置ImagePullSecrets的方式。创建私有仓库secret,即可以通过命令行直接创建secret的方式,也可以通过文件(config.json)创建的方式,两者实现的功能一样,区别在于命令行创建只支持单个私有仓库使用,而 .docker/config.json文件创建的方式支持多个私有仓库,如有多个私有仓库,建议文件创建的方式使用。原创 2022-08-24 14:57:46 · 2528 阅读 · 0 评论 -
使用kubectl获取pod日志小技巧
如何查看k8s中pod的console控制台日志?即类似于dockerlogs查看容器日志一样;可以使用kubectl命令,查看K8S中Pod的日志。在这里,将通过kubectl获取Pod的日志,包括当前运行、同一deployment下所有副本的日志。......原创 2022-07-26 10:26:14 · 10191 阅读 · 2 评论 -
pod详解(二)Pod生命周期小解
在讲pod的配置前,先粗略概括下,其中包括pod的生命周期、镜像策略、网络模式、节点选择、节点亲和/反亲和、Pod亲和/反亲和、存储等等,涉及内容较多,需要各自慢慢理解及应用到实际中。此章节主要介绍pod生命周期相关 Pod 生命周期是指从创建到结束的这一段时间,其中包含 阶段;如果至少 其中有一个主要容器正常启动,则进入 Pod 中容器以 失败状态结束而进入 阶段;Pod 中容器以 成功状态结束而进入 阶段。生命周期中的几种状态解读:以上几种情况,主要关注的是Pending和Failed的状态原创 2022-06-26 20:18:48 · 1229 阅读 · 0 评论 -
pod详解(一)什么是Pod?
Pod是Kubernetes中最小的计算单元,由一个或多个容器组成;这些容器共享存储、网络等资源,可以理解成同一主机上运行多个应用。如何创建/运行pod可以通过kubectl run创建,也可以通过kubectl apply yaml文件创建pod在实际的环境应用中,很少在 Kubernetes 中单独创建一个个的 Pod,因为 Pod 被设计成了相对临时性的、用后即抛的一次性实体。 只由当 Pod 由控制器 创建时,它才会被调度在集群中的节点上运行,直到 Pod 结束执行、Pod 对象被删除、Pod原创 2022-06-14 09:43:47 · 3370 阅读 · 0 评论 -
节点污点 Taint 和容忍度 Toleration在生产中的使用
一、前言在生产环境使用中,有时会遇到一些使用场景需求,当集群中存在多种节点类型的情况,如master节点、ssd硬盘类型的node节点,或者是高计算性能的node节点,这个时候,只想某些节点上只运行指定类型的pod,不想让其它pod调度到这些节点上,则可以使用节点污点(Taint)的方式,配合容忍度(Toleration),实现指定节点只运行特定类型的pod服务。节点污点(Taint)则相反——它使节点能够排斥一类特定的 Pod。容忍度(Toleration)是应用于 Pod 上的,允许(但并不要求)Pod原创 2022-06-06 08:30:00 · 772 阅读 · 0 评论 -
nacos使用外部数据库部署到k8s
目录概览简单快速安装方式使用外部数据库安装方式修改配置创建Nacos部署ingress测试概览Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。简单快速安装方式# clone项目gi原创 2022-05-28 14:26:38 · 1188 阅读 · 0 评论 -
kubectl常用命令
给node添加删除label# 添加节点label语法kubectl label nodes <node-name> <label-key>=<label-value> # 例kubectl label nodes 172.22.0.8 cloud.tencent.com/auto-scaling-pools-id='app-c4'# 删除节点label语法kubectl label nodes <node-name> <label-k原创 2022-05-27 18:14:49 · 1305 阅读 · 0 评论 -
kubectl配置多集群访问
背景及原理使用场景:当cicd所在的主机,ci部署到生产集群、beta集群及测试集群,那么是否可以通过kubectl配置实现多个集群环境的切换访问呢?原理:通过将集群、用户和上下文定义(即kubectl访问集群时的config配置文件)在一个或多个配置文件中之后,用户可以使用kubectl config use-context命令快速地在集群之间进行切换。多集群配置方法 需要新建.kube文件夹,拷贝不同集群的config配置,例如重命名为config-jhmy和config-ymt,..原创 2022-05-24 07:00:00 · 735 阅读 · 0 评论 -
kubespray部署高可用K8s集群
官方推荐安装方式:Installing Kubernetes with deployment tools | Kuberneteskubespray下载地址:GitHub - kubernetes-sigs/kubespray: Deploy a Production Ready Kubernetes Cluster#介绍Kubespray底层采用的是kubeadm,采用了ansilbe的模式,可以一键实现k8s的集群模式部署,同时还能集成各种网络插件、dasborad、elk等Kubeadm原创 2022-05-23 07:00:00 · 1308 阅读 · 0 评论 -
实战指定pod分散部署节点之pod反亲和性(podAntiAffinity)
目录使用背景和场景pod亲和性和反亲和性的区别podAntiAffinity实战部署反亲和性分软性要求和硬性要求附完整的deployment.yaml配置注意使用背景和场景业务中的某个关键服务,配置了多个replica,结果在部署时,发现多个相同的副本同时部署在同一个主机上,结果主机故障时,所有副本同时漂移了,导致服务间断性中断基于以上背景,实现一个服务的多个副本分散到不同的主机上,使每个主机有且只能运行服务的一个副本,这里用到的是Pod anti-affinit原创 2022-05-17 17:17:32 · 5351 阅读 · 2 评论 -
kubeadm升级集群版本
目录升级步骤升级操作升级步骤升级kubeadm版本 查看升级计划 按任务进行升级 升级控制平面 升级节点 升级操作# 查看kubeadm版本$ kubeadm version# 查看升级计划# 检查可升级到哪些版本,并验证您当前的集群是否可升级sudo kubeadm upgrade plan# 将 Kubernetes 集群(master)升级到指定版本kubeadm upgrade apply [version]# 如 kubeadm upgra原创 2022-05-16 15:58:25 · 255 阅读 · 0 评论 -
自学备考CKA攻略-kubeadm安装k8s学习环境
kubeadm安装集群 安装kubectl、kubeadm 第三方完整安装参考 配置kubelet cgroup驱动 前置条件:docker环境、关闭swap原创 2022-05-16 15:44:35 · 296 阅读 · 0 评论 -
自学备考CKA攻略-2020年真题
关于真题,基本上多做几次,理解其中的题,考试基本没问题;除了真题,预约考试附赠的两次模拟测试,只要能熟练掌握,基本上也能通过考试,因为模拟考试比真题还要难,题也多;建议学习步骤,先掌握各个知识点,掌握好基础后再备考,不要因为考证而考证,学到知识才是自己的2021-2022考纲知识点占比集群安装、配置、升级 25%部署配置、调度(如configmap、部署pod/deployment/stateful等) 15%服务、网络配置20%存储配置 10%Troubleshooting .原创 2022-05-15 10:25:51 · 443 阅读 · 0 评论 -
自学备考CKA攻略-考试信息及准备
PS:一年又一年,疫情已3年。闲着也是闲着,写写blog~CKA证书如下,于2022.1.22取得认证(非机构,非培训,勿喷)目录1. 关于 CKA 考试2. 考试注意事项3. 必考要点4. 考试必过攻略5. 学习前准备工作1. 关于 CKA 考试CKA 全称CertifiedKubernetesAdministrator是Linux开源基金会推出的官方认证考试相关信息如下:截止至2022年,考试总共17道题,考试时间2小时,满分100,......原创 2022-05-12 14:43:51 · 3838 阅读 · 0 评论