- 博客(106)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 Harbor系列之1:介绍、架构及工作流程说明
Harbor 是一个开源的云原生容器镜像仓库项目,旨在为企业级用户提供安全、可扩展、灵活的容器镜像管理解决方案。Harbor 提供了对镜像的管理、访问控制、镜像签名、安全扫描等功能,并且支持多种身份验证方式,可以与企业的 LDAP/AD 集成。
2024-07-19 15:59:33
896
原创 Kubernetes网络性能测试-calico插件环境
场景calio网络模式带宽(Gbits/sec)不同node之间不涉及2.85不同node的pod之间Native Routing (BGP) 模式2.75node与不同node的pod之间Native Routing (BGP) 模式2.78不同node的pod之间VXLAN0.98node与不同node的pod之间VXLAN2.67不同node的pod之间IP-IP1.23node与不同node的pod之间IP-IP2.77。
2024-07-17 21:38:18
1008
原创 使用harbor作为chart仓库实现内网部署
chart仓库是打包的chart存储和分享的位置。chart仓库由chart包和包含了仓库中所有chart索引的特殊文件index.yaml。通常描述chart的index.yaml也托管在同一个服务器上作为来源文件。
2024-07-14 18:47:17
902
原创 helm系列之-构建自己的Helm Chart
一般常见的应用(nginx、wordpress等)公有的helm仓库都提供了chart,可以直接安装或者自定义安装。下面实践从零构建自己的helm chart应用。
2024-07-13 22:57:11
917
原创 helm系列之-使用helm部署应用
Helm 是一个 Kubernetes 的包管理工具,用于简化应用的部署和管理。下面是用helm在k8s上部署应用的一般流程。默认情况下可以直接部署官方发布的chart,也可以下拉取到本地后进行修改。默认为default,删除指定命名空间需要指定。本文使用的环境有LB,访问。即可看到nginx页面。
2024-07-13 22:54:11
236
原创 Kubernetes管理神器-插件管理器Krew
Krew是Kubernetes的一个插件管理器,它允许用户搜索、安装和管理kubectl插件。通过Krew,用户可以方便地扩展kubectl的功能,使用社区提供的各种插件。类似于apt,dnf,brew等工具,截至目前,已提供超过。对于kubectl用户:Krew可以帮助你查找、安装和管理kubectl插件。对于插件开发人员:Krew帮助您在多个平台上打包和分发插件。
2024-07-09 17:55:14
750
原创 Kubernetes基于helm部署jenkins
jenkins支持war包、docker镜像、系统安装包、helm安装等。在Kubernetes上使用Helm安装Jenkins可以简化安装和管理Jenkins的过程。同时借助Kubernetes,jenkins可以实现工作节点的动态调用伸缩,更好的提高资源利用率。通过Jenkins的kubernetes-plugin来实现将Jenkins运行在Kubernetes上的功能。
2024-07-08 14:08:37
750
1
原创 Kubernetes基于helm部署gitlab
gitlab支持多种安装方式,有二进制安装、helm cahrt安装、operator安装、docker安装以及基于源码构建等。本文主要介绍在k8s环境下基于helm包进行安装。gitlab包括通用版本和中文版本(极狐),极狐为中外合资公司发布的版本。
2024-07-08 14:06:27
513
原创 构建自己的docker基础镜像
构建一个完全定制的基础镜像意味着您需要从一个非常小的镜像(例如scratch镜像)开始,然后逐步添加您需要的所有内容。scratch镜像是一个空白的基础镜像,可以用来创建高度定制的容器环境。
2024-07-08 12:35:33
946
2
原创 Kubernetes集群性能测试之kubemark集群搭建
Kubemark是K8s官方提供的一个对K8s集群进行性能测试的工具。它可以模拟出一个K8s cluster(Kubemark cluster),不受资源限制,从而能够测试的集群规模比真实集群大的多。这个cluster中master是真实的机器,所有的nodes是Hollow nodes。Hollow nodes执行的还是真实的K8s程序,只是不会调用Docker,因此测试会走一套K8s API调用的完整流程,但是不会真正创建pod。
2024-07-07 22:55:00
676
原创 Kubernetes 负载均衡器解决方案 MetalLB实践
地址分配:当创建Service 时,MetalLB 会为其分配 IP 地址。这个 IP 地址是从预先配置的 IP 地址库获取的。当 Service 删除后,已分配的 IP 地址会重新回到地址库。使用Controller实现地址分配,以 Deployment方式运行,用于监听 Service 的变更,分配/回收 IP 地址。对外广播:分配了 IP 地址之后,需要让集群外的网络知道这个地址的存在。由Speaker实现地址对外广播,以DaemonSet方式运行,对外广播 Service 的 IP 地址。
2024-07-06 15:53:33
1176
原创 Kubernetes云原生存储解决方案openebs部署实践-4.0.1版本(helm部署)
OpenEBS 是一种开源云原生存储解决方案。OpenEBS 可以将 Kubernetes 工作节点可用的任何存储转化为本地或复制的 Kubernetes 持久卷。OpenEBS 帮助应用和平台团队轻松地部署需要快速、持久耐用、可靠且可扩展的容器原生存储的 Kubernetes 有状态工作负载。OpenEBS 也是基于 NVMe 存储部署的首选方案之一。OpenEBS 最初由 MayaData 构建,并捐赠给了云原生计算基金会(Cloud Native Computing Foundation)。
2024-07-04 21:45:02
763
原创 Kubernetes基于helm安装 harbor
之前harbor的安装都是借助docker完成一键安装部署,安装完成之后harbor组件均运行到一台机器上面,本文实践harbor在k8s环境中的部署。
2024-07-03 16:59:23
1162
原创 Kubernetes云原生存储解决方案openebs部署实践-3.10.0版本(helm部署)
记录在k8s 1.19.0集群环境下安装openebs 3.10.0。
2024-07-03 16:57:37
778
原创 helm系列之-helm常用命令
搜索charthelm pull:下载chart到本地目录查看:上传chart到Kuberneteshelm list:列出已发布的chart名称描述设置一个存储缓存文件的可选位置设置一个存储Helm配置的可选位置设置一个存储Helm数据的可选位置表示Helm是否在Debug模式运行设置后台存储驱动,可选值包括:configmap, secret, memory, sql设置SQL存储驱动使用连接字符串设置发布历史记录的最大值设置用于helm操作的命名空间。
2024-07-02 14:13:49
674
原创 calico客户端工具calicoctl
calicoctl提供了丰富的命令集来管理和配置 Calico 的网络资源。熟练掌握这些命令可以帮助您更好地管理 Kubernetes 集群中的网络和安全策略。
2024-07-02 11:19:46
963
原创 部署calico网络插件
之前的k8s环境中主要使用了flannel作为网络插件,这次改用calico。calico支持多种安装方式,以下是具体的操作步骤。
2024-07-01 20:49:48
979
原创 Linux中的conntrack命令深入解析
conntrack命令源于Linux的netfilter项目,这是一个内置于Linux内核中的网络包处理模块。Netfilter支持各种网络相关任务,如包过滤(防火墙)、网络地址转换(NAT)和连接跟踪。conntrack工具最初设计的目的是为了管理和监视netfilter的连接跟踪系统,这个系统记录了所有经过防火墙的网络连接的状态信息。连接追踪是网络防火墙功能中的一部分,用于记录网络连接的状态。它帮助防火墙做出智能决策,比如允许或拒绝特定连接。连接追踪支持多种协议,包括 TCP、UDP、ICMP 等。
2024-06-29 06:45:46
624
原创 Ingress Controller介绍及部署实践
ingress nginx是一种使用nginx实现的ingress controller,作为K8S的反向代理和负载均衡器。Kubernetes 是容器化应用管理的事实标准。对许多企业而言,将生产工作负载迁移到 Kubernetes 会增加应用流量管理方面的挑战和复杂性。Ingress controller 能够将 Kubernetes 应用流量路由的复杂性抽象出来,并在 Kubernetes 服务和外部服务之间建立了一座桥梁。
2024-06-28 20:16:53
913
原创 Harbor私有仓库部署与配置-https
Harbor 是一个开源的云原生镜像仓库,用于存储和分发容器镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。本文用https+自签名证书部署。
2024-06-27 10:25:31
797
原创 Harbor私有仓库部署与配置-http
Harbor 是一个开源的云原生镜像仓库,用于存储和分发容器镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。
2024-06-27 10:24:04
574
原创 K8S集群进行分布式负载测试
基于该架构可以实现K8S环境下应用的分布式压测,借助与K8S易于扩展的能力,可以很容易的调整压测端、应用端的副本数,实现扩缩容;本文使用一套K8S集群承载locust分布式测试组件和业务应用,最佳实践情况下,可以将locust部署到单独的K8S集群中,对业务侧K8S进行压测。
2024-06-26 17:36:50
1440
原创 使用kubeadm对K8S节点进行扩容
已经完成k8s集群的搭建,使用一段时间后,需要增加k8s节点的数量。借助kubeadm完成k8s节点的横向扩容。下面以centos7.9下面部署的一套1master+2worker节点环境,扩容一个worker节点为例。
2024-06-24 17:55:05
505
原创 K8S安装metrics-server
于 Kubernetes,Metrics API 提供了一组基本的指标,以支持自动伸缩和类似的用例。该 API 提供有关节点和 Pod 的资源使用情况的信息, 包括 CPU 和内存的指标。如果将 Metrics API 部署到集群中, 那么 Kubernetes API 的客户端就可以查询这些信息,并且可以使用 Kubernetes 的访问控制机制来管理权限。(HPA) 和(VPA) 使用 metrics API 中的数据调整工作负载副本和资源,以满足客户需求。
2024-06-24 17:53:03
1466
原创 Containerd命令行工具nerdctl
相比Containerd自带的ctr工具,nerdctl操作方式更接近之前的docker命令。nerdctl 是一个与 docker cli 风格兼容的 containerd 客户端工具,而且直接兼容的语法的。仓库:https://github.com/containerd/nerdctl。
2024-06-23 16:21:36
438
原创 kubernetes客户端crictl命令
crictl是一个命令行工具,用于与容器运行时接口(CRI)兼容的容器运行时(如 containerd 和 CRI-O)进行交互。crictl提供了许多有用的命令来管理容器、镜像和 sandboxes。
2024-06-23 16:21:02
993
原创 containerd的客户端工具ctr命令
类似docker为docker-shim容器运行时的客户端工具,ctr 是 containerd 的客户端工具,安装containerd作为容器运行时后,会自动安装ctr。
2024-06-22 22:46:24
901
原创 Centos7.9使用kubeadm部署K8S 1.27.6集群环境(内网通过代理部署)
在内网借助代理服务器,使用kubeadm部署一个k8s集群,单master+2worker节点,K8S版本为1.7.6,使用containerd作为容器运行时。
2024-06-21 20:41:55
807
原创 使用Minikube部署Kubernetes环境
Minikube是一个强大的工具,可以在本地快速搭建一个Kubernetes集群,帮助开发者在本地进行开发和测试。通过本文的介绍,你应该能够顺利安装、配置和使用Minikube,并了解一些高级配置和常见问题的解决方法。希望这篇文章对你有所帮助,祝你在Kubernetes的学习和使用中取得成功!更多信息请访问Minikube官方文档。
2024-06-18 21:29:09
1200
原创 Kubernetes 1.18 部署 Traefik2.0
traefik 是一款反向代理、负载均衡服务,使用 golang 实现的。和 nginx 最大的不同是,它支持自动化更新反向代理和负载均衡配置。在微服务架构越来越流行的今天,一个业务恨不得有好几个数据库、后台服务和 webapp,开发团队拥有一款 “智能” 的反向代理服务,为他们简化服务配置。traefik 就是为了解决这个问题而诞生的。
2024-06-17 15:17:51
765
原创 Centos7升级K8S集群
适用于使用kubeadm部署的k8s环境。Kubernetes 版本以 x.y.z 表示,其中 x 是主要版本, y 是次要版本,z 是补丁版本。升级时不可以跳过次版本。例如,你只能从 1.y 升级到 1.y+1,而不能从 1.y 升级到 1.y+2。版本偏差说明:生产环境升级之前注意备份数据。为了方便恢复,如果是虚拟机环境可以借助kube快照进行恢复。
2024-06-17 12:48:48
834
原创 kubernetes部署dashboard
Dashboard 是基于网页的 Kubernetes 用户界面。你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment、Job、DaemonSet 等等)。例如,你可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。
2024-06-15 22:27:11
1534
原创 Locust web性能测试实践
单机模式适用于简单的小规模测试。分布式模式适用于大规模测试,通过多个 worker 节点协同工作来模拟大量并发用户。无头模式适用于自动化测试和持续集成环境,可以在没有图形界面的情况下运行测试并输出结果。
2024-06-14 21:31:22
892
原创 使用Kube-Bench对Kubernetes进行安全检测
kube-bench是一款强大的工具,它可以帮助我们发现哪些Kubernetes配置没有遵循CIS的最佳实践,从而改正这些问题,增强我们的Kubernetes集群的安全性。虽然kube-bench不能捕获所有可能的安全问题,但它至少可以帮助我们消除最常见的一些安全漏洞。
2024-06-13 17:22:14
1021
SysinternalsSuite
2020-08-15
KVM虚拟化技术 实战与原理解析
2017-08-20
c程序转换为java程序,最好用图形界面实现
2014-11-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人