- 博客(61)
- 收藏
- 关注
原创 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
1547
原创 一次k8s命名空间删除导致的故障处理
该文记录了最近遇到的一次由于人为误删除k8s 命名空间导致的服务故障的处理过程和心得体会。通过该文来给运维同行提个醒,避免出现类似的失误。
2024-07-31 14:36:44
1338
原创 【k8s部署elasticsearch】k8s环境下安装elasticsearch集群和kibana
k8s集群中搭建有elasticsearch服务一般都会用到pvc,但是考虑到有些自建k8s环境下,搭建的共享存储可能会存在稳定性及性能问题,所以这次是通过采用节点亲和性和hostpath来实现,目前的operator的基本都是采用共享存储的方法。本文将根据现有环境及不同需求将elasticsearch集群的搭建采用hostpath+亲和性的权重+多个副本分区的方式来实现数据持久化和高可用
2024-07-11 16:07:32
3362
原创 【k8s中安装rabbitmq】k8s中基于安装rabbitmq并搭建镜像集群-pvc版
该文搭建的rabbitmq集群是采用rabbitmq_peer_discovery_k8s的形式进行搭建,是通过该插件自动从k8s api中读取节点信息并组建rabbitmq集群,采用搭建方式是一个statefulset,三个副本的形式,所以要保证数据的持久可以采用hostpath+节点亲和性,也可以采用pvc的形式,本文将讲述采用pvc的形式来报障数据的持久化
2024-07-11 16:00:25
1450
原创 【k8s中安装rabbitmq】k8s中安装rabbitmq并搭建镜像集群-hostpath版
k8s集群中搭建rabbitmq集群服务一般都会用到pvc,但是考虑到有些自建k8s环境下,搭建的共享存储可能会存在稳定性及性能问题,所以这次是通过采用节点亲和性和hostpath来实现,目前的operator的基本都是采用共享存储的方法。本文将根据现有环境及不同需求将rabbitmq镜像集群的搭建采用hostpath+亲和性的权重+多副本来实现数据持久化和高可用。
2024-07-09 15:35:57
2205
2
原创 【k8s安装redis】k8s环境无pvc的情况下安装redis哨兵集群
k8s集群中搭建redis哨兵集群会相对较麻烦,像搭建redis目前比较主流的做法主要是采用共享存储ceph、nas来实现数据的持久化存储,有的是通过采用节点亲和性和hostpath来实现,目前的operator的基本都是采用共享存储的方法。本文将根据现有环境及不同需求将redis集群的搭建采用hostpath+亲和性的权重+多副本来实现redis服务的数据持久化和高可用。
2024-07-09 15:32:14
1163
原创 【k8s安装redis】k8s安装单机版redis实现高性能高可用
本文将根据在k8s环境中搭建【伪】单机模式的redis实例。由于共享存储的io性能比较低,所以将共享存储用于数据备份,而采用hostpath的形式进行redis数据的存储,这样有助于提高redis的io性能,本文将讲解如何在一个pod内用两个container作为redis的主从形式来实现单机版、高可用的redis。
2024-07-05 15:19:55
1958
2
原创 【kubectl详解】最全的kubectl命令用法
该文章详细对kubect命令行的参数进行讲解,并将api-resource的信息整理成列表,方便查看,同时通过一系列的实践操作的命令来进行举例,便于更深刻的了解和掌握该命令的用法。
2024-07-05 15:12:41
5725
原创 【镜像制作】docker命令的参数解释及用法
该文详细介绍了docker命令的一系列用法,对命中的各种参数进行解释,并通过一些实践来进行说明该命令的用法,可以复制对应的命令在docker环境下进行执行来辅助理解。
2024-06-17 15:18:15
1249
1
原创 【镜像制作】制作k8s的yaml配置的备份镜像
通过shell脚本写一个定期备份k8syaml配置的镜像,然后通过cronjob来实现定期执行,将备份文件上传到ceph存储或者是存放到NAS存储上。
2024-06-17 15:02:14
810
原创 【镜像制作】Oracle JDK项目镜像压缩
在使用Oracle jdk的项目时,由于jdk的包太大,制作出来的镜像往往特别大,在大规模容器化的场景下,镜像的大小对存储的空间,拉取速度,启动的快慢都有一定 影响,而在很多项目中,jdk包中的很多文件其实是用不着的,所以可以将这部分文件进行删除来缩减jdk包的大小。
2024-06-12 10:36:59
684
原创 【镜像制作】resin的镜像制作
resin是 CAUCHO 公司的产品,是一个非常流行的支持 servlets 和 jsp 的引擎,速度非常快。Resin 本身包含了一个支持 HTTP/1.1 的 WEB 服务器。Resin 也可以和许多其他的 WEB 服务器一起工作,比如 Apache server 和 IIS 等。Resin 支持 Servlets 2.3 标准和 JSP 1.2 标准。目前采用resin作为web服务器的公司应该不多,对于历史悠久的公司、可能有很多旧项目还跑在resin上。
2024-06-12 10:02:06
388
原创 【镜像制作】trafficserver-9.1.1镜像制作
trafficserver我们会在应用中用作web的缓存,在公有云的k8s环境中,aws中可以结合ebs挂载,阿里云也可以通过添加硬盘来作为缓存盘,在自建的k8s缓存中,可以考虑nfs或ceph来进行挂载使用,不过需要考虑到性能,性能达不到,就不太建议,可以采用hostpath挂载本机目录来作为缓存
2024-06-11 15:27:50
309
原创 【镜像制作】node.js+pm2的latest版镜像制作
本司的一些nodejs环境基本都运行在pm2的环境下,pm2是一个node环境下的多进程管理工具,通过pm2可以提升不少性能,管理起来也比较方便。在制作nodejs+pm2镜像时,建议指定版本进行安装,这样可以避免时间一久出现版本上不兼容的问题。
2024-06-11 12:33:37
537
原创 【镜像制作】tengine+lua的镜像制作
本章节主要讲解tengine-2.4.1+lua的镜像制作,本文列举出该镜像所用到的一些模块或安装包,以及一些nginx的配置,像nginx.conf主配置,以及日志格式的配置。便于一些网友们在制作类似镜像时可以下载相关的包来参考制作docker镜像,后续将整个包压缩上传到资源。
2024-06-06 17:14:16
757
原创 【二进制部署k8s-1.29.4】十三、k8s的dashboard安装部署【完结】
本章节主要讲解kubernetes-dashboard-7.5.0的安装,先通过helm进行安装,由于镜像无法直接下载,需要先通过合理方法将镜像下载到本地的镜像库,然后再修改deployment的镜像地址。安装完成等所有的pod都运行正常以后,创建token,然后通过token进行登录
2024-06-06 16:41:45
2128
7
原创 【二进制部署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
原创 【二进制部署k8s-1.29.4】十二、ingress-nginx的安装部署
本章节主要讲解安装ingress-nginx-v1.10.1的安装,ingress的安装比较简单,只需要下载yaml文件,修改一下镜像地址,原本的镜像地址由于墙的原因,没法直接下载,需要改成阿里云镜像地址,安装以后,只需要检查相关的pod是否都正常启动,正常启动以后就可以了。
2024-06-05 10:24:12
517
原创 【二进制部署k8s-1.29.4】十一、metallb的安装部署
本章节主要讲解安装metallb-v0.7.1的安装,metallb算是平民版的负载均衡,用于测试、访问量较小的情况还是比较不错的,但是对于请求量比较的时候,由于流量都集中在一个节点上,不太合适。metallb的安装比较简单,下载yaml配置,修改一下镜像地址,然后直接apply即可。安装完配置好地址池即可。
2024-06-04 15:13:47
826
原创 【二进制部署k8s-1.29.4】九、cilium1.15.4安装
本章节主要讲解k8s集群网络插件cni的安装,安装的版本是cilium-1.15.4,本文主要讲解对ciium的安装方式,以及cilium各个安装参数的解释。
2024-06-03 11:21:30
1781
原创 【二进制部署k8s-1.29.4】八、worker端安装kubelet和cotainerd
本章节主要讲解安装containerd和kubelet,containerd主要是将压缩包解压到根目录,然后导出配置文件进行修改以后即可,kubelet主要是将先准备好的配置文件和启动脚步拷贝到正确的目录即可,kubelet安装时要注意主机名这段配置。
2024-06-03 11:15:32
1290
原创 【二进制部署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
原创 【二进制部署k8s-1.29.4】六、kube-scheduler安装部署
本章节主要讲解安kube-scheduler,安装kube-scheduler主要是将证书、配置文件、拷贝到对应的目录,配置启动脚本,然后kube-scheduler可执行文件拷贝到bin目录然后进行启动。
2024-05-31 10:22:32
599
原创 【二进制部署k8s-1.29.4】五、kube-controller-manager安装配置
本章节主要讲解安kube-controller-manager,安装kube-controller-manager主要是将证书、配置文件拷贝到对应的目录,配置启动脚本,然后kube-controller-manager可执行文件拷贝到bin目录然后进行启动。
2024-05-30 17:35:33
918
原创 【二进制部署k8s-1.29.4】四、kube-apiserver安装部署
本章节主要讲解安装kube-apiseerver,安装kube-apiserver主要是将证书、配置文件、token文件拷贝到对应的目录,配置启动脚本,然后将kube-apiserver可执行文件拷贝到bin目录进行启动。
2024-05-30 17:32:35
1586
原创 【二进制部署k8s-1.29.4】三、etcd集群的安装配置
本章节主要讲解安装etcd的过程,并通过脚本etcd.sh来查看etcd的集群状态以及etcd的数据库中存放数据的情况,也可以通过etcd.sh脚本来进行etcd的备份和还原。
2024-05-30 17:27:30
1144
原创 【二进制部署k8s-1.29.4】二、证书及配置文件启动脚步的准备
本章节主要准备二进制安装k8s的过程中所使用到的证书配置文件,怎样生成证书,以及etcd、master端组件、worker端组件所用到的配置文件和启动脚本,同时利用脚本生成证书、和生成kubecofig配置文件。
2024-05-30 16:58:08
1707
2
原创 【二进制部署k8s-1.29.4】一、安装前软件准备及系统初始化
本章节主要讲解在安装部署k8s-1.29.4环境之前的一些软件、环境调优的准备工作,本篇采用k8s二进制安装的方式进行部署,该环境是根据在用的一个30节点左右的k8s集群部署流程进行文章整理。
2024-05-30 16:54:17
1743
原创 一款好用的memcached的内存使用分析工具
一款分析memcached内存使用情况的工具,通过读取memcached的状态,包括连接数、置换率、item数量、内存使用率、get和set的数量、命中率、内存分配情况、其中包括各个page、slabs、chunk的划分及内存使用情况
2024-05-09 14:21:56
947
原创 一文了解Memcache内存分配机制及stats参数
了解memcached必须了解的三个单位:page、slabs、chunk。并掌握memcached中stats的各项参数的意思
2024-05-09 14:16:22
938
原创 【k8s多集群管理平台开发实践】十二、开发总结及注意事项【完结】
该系列文章主要是介绍了多k8s集群平台开发的一个思路,以及一些重点功能的代码实现,通过切换k8s按钮实现更改cookie clusterId的值,然后平台通过读取cookie中clusterId的值来读取对应k8s的配置文件并通过调用api-server来加载该k8s的相关配置。本系列文章只要是取了整个k8s功能中的部分重要功能,网友可以根据该思路来继续扩展出更多的功能。
2024-05-09 11:45:29
861
原创 【k8s多集群管理平台开发实践】十一、client-go实现读取k8s的事件信息
本章节主要讲解通过client-go实现读取k8s事件信息,并通过layui实现界面操作,其中包含控制器这部分的代码,模型这部分代码,以及前端的html代码。
2024-05-08 10:00:08
1177
2
原创 【k8s多集群管理平台开发实践】十、client-go实现读取pvc列表、pv列表、storageclass列表
本章节主要讲解通过client-go实现读取pvc的列表、pv的列表、storageclass的列表,并通过前端html页面进行展示,其中包含控制器这部分的代码,模型这部分代码,以及前端的html代码。
2024-05-08 09:56:52
1333
原创 【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
原创 【k8s多集群管理平台开发实践】七、clint-go实现configmap的列表、创建configmap、yaml配置的编辑
通过client-go实现configmap的列表显示、界面创建configmap,读取yaml配置并更改。功能主要有后端部分:控制器代码、模型部分代码、路由配置。前端部分:configmapList.html的html代码,configmapCreate.html,configmapYaml.html这几部分代码组成。
2024-04-30 14:08:22
1015
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
原创 【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
768
原创 【k8s多集群管理平台开发实践】四、client-go实现deployment列表、创建deployment、读取yaml配置、重启deployment
通过client-go、beego实现deployment列表、创建deployment、读取yaml配置、重启deployment这四个功能,再结合layui、layuimini模板实现也没展,功能只要是由控制器、模型、路由、前端代码几部分组成,现将各个模块的功能进行分布讲解。
2024-04-28 10:15:26
1431
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人