
kubernetes
文章平均质量分 88
汪碧康
资深运维架构师,阿里云ACE,技术栈主要是:elasticsearch、Clickhouse、Nginx、kubernetes、docker、lua、shell、golang、layui、elasticV7开发,client-go开发、waf安全、redis、流媒体ffmpeg、GlusterFS、ceph、AWS、kafka、routeos、开源大模型等
展开
-
alpine 和 ubuntu 系统中文乱码问题
最近在制作alpine的java镜像和Ubuntu的java镜像。输出的日志中的中文,以及附件等相关涉及中文的都变成问号,这是由于系统缺乏相应的编码文件导致,需要在系统里安装相应的中文编码,中文编码主要有zh_CN.gb18030、zh_CN.gbk、zh_CN.gbk2312、zh_CN.utf8。如果中文是gbk编码的,需要将变量LANG设置成gb18030或gbk编码,如果中文是utf8编码的需要LANG设置成utf-8编码。原创 2024-08-14 14:29:36 · 1550 阅读 · 0 评论 -
一次k8s命名空间删除导致的故障处理
该文记录了最近遇到的一次由于人为误删除k8s 命名空间导致的服务故障的处理过程和心得体会。通过该文来给运维同行提个醒,避免出现类似的失误。原创 2024-07-31 14:36:44 · 1338 阅读 · 0 评论 -
【k8s部署elasticsearch】k8s环境下安装elasticsearch集群和kibana
k8s集群中搭建有elasticsearch服务一般都会用到pvc,但是考虑到有些自建k8s环境下,搭建的共享存储可能会存在稳定性及性能问题,所以这次是通过采用节点亲和性和hostpath来实现,目前的operator的基本都是采用共享存储的方法。本文将根据现有环境及不同需求将elasticsearch集群的搭建采用hostpath+亲和性的权重+多个副本分区的方式来实现数据持久化和高可用原创 2024-07-11 16:07:32 · 3362 阅读 · 0 评论 -
【k8s中安装rabbitmq】k8s中基于安装rabbitmq并搭建镜像集群-pvc版
该文搭建的rabbitmq集群是采用rabbitmq_peer_discovery_k8s的形式进行搭建,是通过该插件自动从k8s api中读取节点信息并组建rabbitmq集群,采用搭建方式是一个statefulset,三个副本的形式,所以要保证数据的持久可以采用hostpath+节点亲和性,也可以采用pvc的形式,本文将讲述采用pvc的形式来报障数据的持久化原创 2024-07-11 16:00:25 · 1452 阅读 · 0 评论 -
【k8s中安装rabbitmq】k8s中安装rabbitmq并搭建镜像集群-hostpath版
k8s集群中搭建rabbitmq集群服务一般都会用到pvc,但是考虑到有些自建k8s环境下,搭建的共享存储可能会存在稳定性及性能问题,所以这次是通过采用节点亲和性和hostpath来实现,目前的operator的基本都是采用共享存储的方法。本文将根据现有环境及不同需求将rabbitmq镜像集群的搭建采用hostpath+亲和性的权重+多副本来实现数据持久化和高可用。原创 2024-07-09 15:35:57 · 2206 阅读 · 1 评论 -
【k8s安装redis】k8s环境无pvc的情况下安装redis哨兵集群
k8s集群中搭建redis哨兵集群会相对较麻烦,像搭建redis目前比较主流的做法主要是采用共享存储ceph、nas来实现数据的持久化存储,有的是通过采用节点亲和性和hostpath来实现,目前的operator的基本都是采用共享存储的方法。本文将根据现有环境及不同需求将redis集群的搭建采用hostpath+亲和性的权重+多副本来实现redis服务的数据持久化和高可用。原创 2024-07-09 15:32:14 · 1164 阅读 · 0 评论 -
【k8s安装redis】k8s安装单机版redis实现高性能高可用
本文将根据在k8s环境中搭建【伪】单机模式的redis实例。由于共享存储的io性能比较低,所以将共享存储用于数据备份,而采用hostpath的形式进行redis数据的存储,这样有助于提高redis的io性能,本文将讲解如何在一个pod内用两个container作为redis的主从形式来实现单机版、高可用的redis。原创 2024-07-05 15:19:55 · 1959 阅读 · 2 评论 -
【kubectl详解】最全的kubectl命令用法
该文章详细对kubect命令行的参数进行讲解,并将api-resource的信息整理成列表,方便查看,同时通过一系列的实践操作的命令来进行举例,便于更深刻的了解和掌握该命令的用法。原创 2024-07-05 15:12:41 · 5729 阅读 · 0 评论 -
【镜像制作】docker命令的参数解释及用法
该文详细介绍了docker命令的一系列用法,对命中的各种参数进行解释,并通过一些实践来进行说明该命令的用法,可以复制对应的命令在docker环境下进行执行来辅助理解。原创 2024-06-17 15:18:15 · 1249 阅读 · 1 评论 -
【镜像制作】tengine+lua的镜像制作
本章节主要讲解tengine-2.4.1+lua的镜像制作,本文列举出该镜像所用到的一些模块或安装包,以及一些nginx的配置,像nginx.conf主配置,以及日志格式的配置。便于一些网友们在制作类似镜像时可以下载相关的包来参考制作docker镜像,后续将整个包压缩上传到资源。原创 2024-06-06 17:14:16 · 757 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】十三、k8s的dashboard安装部署【完结】
本章节主要讲解kubernetes-dashboard-7.5.0的安装,先通过helm进行安装,由于镜像无法直接下载,需要先通过合理方法将镜像下载到本地的镜像库,然后再修改deployment的镜像地址。安装完成等所有的pod都运行正常以后,创建token,然后通过token进行登录原创 2024-06-06 16:41:45 · 2128 阅读 · 6 评论 -
【二进制部署k8s-1.29.4】十三、metrics-server的安装部署
本章节主要讲解metrics-server的安装,metrics-server主要是用于采集k8s中节点和pod的内存和cpu指标,在观察几点和pod的实时资源使用情况还是比较有用的,如果需要记录历史信息,建议采用普罗米修斯。而在安装dashboard时,界面上cpu和内存的使用量的画图采用了metrics-server。xkube对于节点和pod的内存也采用了metrics-server的指标画图,所以决定安装上原创 2024-06-05 10:41:50 · 715 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】十二、ingress-nginx的安装部署
本章节主要讲解安装ingress-nginx-v1.10.1的安装,ingress的安装比较简单,只需要下载yaml文件,修改一下镜像地址,原本的镜像地址由于墙的原因,没法直接下载,需要改成阿里云镜像地址,安装以后,只需要检查相关的pod是否都正常启动,正常启动以后就可以了。原创 2024-06-05 10:24:12 · 517 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】十一、metallb的安装部署
本章节主要讲解安装metallb-v0.7.1的安装,metallb算是平民版的负载均衡,用于测试、访问量较小的情况还是比较不错的,但是对于请求量比较的时候,由于流量都集中在一个节点上,不太合适。metallb的安装比较简单,下载yaml配置,修改一下镜像地址,然后直接apply即可。安装完配置好地址池即可。原创 2024-06-04 15:13:47 · 826 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】十、coredns的安装部署
本章节主要讲解安装coredns-v1.11.1的安装,并进行验证。原创 2024-06-04 15:11:13 · 968 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】九、cilium1.15.4安装
本章节主要讲解k8s集群网络插件cni的安装,安装的版本是cilium-1.15.4,本文主要讲解对ciium的安装方式,以及cilium各个安装参数的解释。原创 2024-06-03 11:21:30 · 1781 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】八、worker端安装kubelet和cotainerd
本章节主要讲解安装containerd和kubelet,containerd主要是将压缩包解压到根目录,然后导出配置文件进行修改以后即可,kubelet主要是将先准备好的配置文件和启动脚步拷贝到正确的目录即可,kubelet安装时要注意主机名这段配置。原创 2024-06-03 11:15:32 · 1290 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】七、验证master的安装
本章节主要验证etcd、kube-apiserver、kube-controller-manager、kube-scheduler以及kubectl所使用到的kube.kubeconfig是否配置正常,并进行apiserver和kublet的授权。原创 2024-05-31 10:37:17 · 944 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】六、kube-scheduler安装部署
本章节主要讲解安kube-scheduler,安装kube-scheduler主要是将证书、配置文件、拷贝到对应的目录,配置启动脚本,然后kube-scheduler可执行文件拷贝到bin目录然后进行启动。原创 2024-05-31 10:22:32 · 599 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】五、kube-controller-manager安装配置
本章节主要讲解安kube-controller-manager,安装kube-controller-manager主要是将证书、配置文件拷贝到对应的目录,配置启动脚本,然后kube-controller-manager可执行文件拷贝到bin目录然后进行启动。原创 2024-05-30 17:35:33 · 918 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】四、kube-apiserver安装部署
本章节主要讲解安装kube-apiseerver,安装kube-apiserver主要是将证书、配置文件、token文件拷贝到对应的目录,配置启动脚本,然后将kube-apiserver可执行文件拷贝到bin目录进行启动。原创 2024-05-30 17:32:35 · 1586 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】三、etcd集群的安装配置
本章节主要讲解安装etcd的过程,并通过脚本etcd.sh来查看etcd的集群状态以及etcd的数据库中存放数据的情况,也可以通过etcd.sh脚本来进行etcd的备份和还原。原创 2024-05-30 17:27:30 · 1144 阅读 · 0 评论 -
【二进制部署k8s-1.29.4】二、证书及配置文件启动脚步的准备
本章节主要准备二进制安装k8s的过程中所使用到的证书配置文件,怎样生成证书,以及etcd、master端组件、worker端组件所用到的配置文件和启动脚本,同时利用脚本生成证书、和生成kubecofig配置文件。原创 2024-05-30 16:58:08 · 1707 阅读 · 1 评论 -
【二进制部署k8s-1.29.4】一、安装前软件准备及系统初始化
本章节主要讲解在安装部署k8s-1.29.4环境之前的一些软件、环境调优的准备工作,本篇采用k8s二进制安装的方式进行部署,该环境是根据在用的一个30节点左右的k8s集群部署流程进行文章整理。原创 2024-05-30 16:54:17 · 1743 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】十二、开发总结及注意事项【完结】
该系列文章主要是介绍了多k8s集群平台开发的一个思路,以及一些重点功能的代码实现,通过切换k8s按钮实现更改cookie clusterId的值,然后平台通过读取cookie中clusterId的值来读取对应k8s的配置文件并通过调用api-server来加载该k8s的相关配置。本系列文章只要是取了整个k8s功能中的部分重要功能,网友可以根据该思路来继续扩展出更多的功能。原创 2024-05-09 11:45:29 · 861 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】十一、client-go实现读取k8s的事件信息
本章节主要讲解通过client-go实现读取k8s事件信息,并通过layui实现界面操作,其中包含控制器这部分的代码,模型这部分代码,以及前端的html代码。原创 2024-05-08 10:00:08 · 1178 阅读 · 2 评论 -
【k8s多集群管理平台开发实践】十、client-go实现读取pvc列表、pv列表、storageclass列表
本章节主要讲解通过client-go实现读取pvc的列表、pv的列表、storageclass的列表,并通过前端html页面进行展示,其中包含控制器这部分的代码,模型这部分代码,以及前端的html代码。原创 2024-05-08 09:56:52 · 1333 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】九、client-go实现nginx-ingress读取列表、创建ingress、读取更新yaml配置
本章节主要讲解通过client-go实现ingress的列表读取和界面创建ingress,该部分的主要是实现nginx-ingress的功能,以及ingress的yaml配置文件读取和修改,通过layui实现界面操作,其中包含控制器这部分的代码,模型这部分代码,以及前端的html代码。原创 2024-05-07 14:49:52 · 1252 阅读 · 2 评论 -
【k8s多集群管理平台开发实践】八、client-go实现service读取列表、创建service、读取yaml配置并更新
本章节主要讲解通过client-go实现service的列表读取和界面创建service,sevice的yaml配置文件读取和修改,并通过layui实现界面操作,其中包含控制器这部分的代码,模型这部分代码,以及前端的html代码。原创 2024-05-07 14:47:54 · 1350 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】七、clint-go实现configmap的列表、创建configmap、yaml配置的编辑
通过client-go实现configmap的列表显示、界面创建configmap,读取yaml配置并更改。功能主要有后端部分:控制器代码、模型部分代码、路由配置。前端部分:configmapList.html的html代码,configmapCreate.html,configmapYaml.html这几部分代码组成。原创 2024-04-30 14:08:22 · 1016 阅读 · 1 评论 -
【k8s多集群管理平台开发实践】六、client-go实现k8s的cronjob的列表、创建cronjob、yaml配置更新
通过client-go实现cronjob的列表显示、界面创建cronjob,读取yaml配置并更改。功能主要有后端部分:控制器代码、模型部分代码、路由配置。前端部分:cronjobList.html的html代码,cronjobCreate.html,cronjobYaml.html这几部分代码组成。原创 2024-04-30 14:02:04 · 928 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】五、client-go实现k8s的hpa水平扩缩容的列表显示、创建hpa,读取yaml配置功能
通过client-go实现hpa【Horizontal Pod Autoscalert】水平扩缩容的列表、创建hap、读取yaml配置文件。通过hap可以实现根据cpu和内存设置的阀值实现deploy,statefulset的扩容和缩容。该部分代码主要有控制器部分代码、模型部分代码、前端html【采用layui框架、layuimini模板】、路由配置。yaml配置部分采用微软的monaco-editor编辑器来显示。原创 2024-04-28 10:19:10 · 769 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】四、client-go实现deployment列表、创建deployment、读取yaml配置、重启deployment
通过client-go、beego实现deployment列表、创建deployment、读取yaml配置、重启deployment这四个功能,再结合layui、layuimini模板实现也没展,功能只要是由控制器、模型、路由、前端代码几部分组成,现将各个模块的功能进行分布讲解。原创 2024-04-28 10:15:26 · 1432 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】三、实现pod列表,pod的ssh终端、读取pod的日志
本章节主要讲解通过client-go实现读取pod的列表,并实现将通过实现web终端登录pod容器内部执行命令和查看文件,实现将pod stdout的日志加载到浏览器进行查看。原创 2024-04-24 17:15:29 · 1301 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】二、实现k8s节点的列表,节点调度,节点排水功能
本章节主要讲解通过client-go实现读取worker节点的列表,并实现将节点进行调度设置、和排水处理功能。本章节中代码均调试通过,可以直接复制过去调试。最后会附上完整的go文件代码。原创 2024-04-23 15:24:47 · 589 阅读 · 0 评论 -
【k8s多集群管理平台开发实践】一、开发环境准备阶段
该篇文章主要是通过《k8s多集群管理平台开发实践》系列文章和大家分享k8s多集群管理平台的开发过程,本文主要是在真正开发之前需要做的一些准备工作,主要是安装golang、ide环境,下载必须的文件及软件包,并通过client-go实现连接部分clientset的功能连接到k8s原创 2024-04-23 15:06:17 · 1108 阅读 · 0 评论 -
一款免费超好用的k8s多集群管理平台
一款免费的多集群k8s管理平台,基于client-go、layui、layuimini、beego开发,该系统具备将多个IDC、公有云的k8s进行统一进行管理。比kubernetes dashboard的功能更丰富,界面更友好更直观。原创 2024-01-31 10:24:22 · 2200 阅读 · 1 评论