自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 资源 (5)
  • 收藏
  • 关注

原创 docker批量删除所有容器和镜像

请在执行这些命令之前确保你了解这些操作的后果,因为它们会导致数据丢失。

2024-06-18 16:01:24 396

原创 清理docker缓存

这个命令会删除所有未使用的容器、网络、镜像(默认不包括Tag为none的)和悬空的镜像。如果你也想要删除所有未使用的镜像,不仅仅是悬空的,可以添加。请注意,在执行这些清理操作之前,确保你不再需要这些容器、网络、镜像或卷,因为这会导致数据丢失。如果你想要删除所有未使用的卷,可以添加。

2024-04-26 14:34:32 638 3

原创 在k8s集群中部署EdgeMesh

步骤3的配置是为了边缘应用能够访问到 EdgeMesh 的 DNS 服务,与边缘 Kube-API 端点本身无关,但为了配置的流畅性,还是放在这里说明。正常情况下你不会希望 EdgeMesh 去代理 Kubernetes API 服务,因此需要给它添加过滤标签,更多信息请参考。中 bridgeDeviceIP 的默认值,正常情况下无需修改,非得修改请保持两者一致。修改cloudcore configmap,需要重启cloudcore pod。

2024-04-19 16:31:20 722

原创 kubeEdge安装初探

1. 准备一台机器用来部署单节点kubernetes,机器地址192.168.1.102. 使用。

2024-04-02 14:19:36 271

转载 Multi-platform Docker images with GoReleaser and GitHub Actions

【代码】Multi-platform Docker images with GoReleaser and GitHub Actions。

2024-01-04 16:42:22 127

原创 使用buildx构建多架构镜像

使用buildx构建多架构镜像。

2024-01-03 16:56:09 1308

原创 chrony参数及常用命令介绍

server 192.168.0.206 iburst #选择集群中一个节点作为服务器,这在集群无法连接外网是保证所有节点时间一直,其余所有节点从该节点获取时间同步。server ntp.aliyun.com iburst #外网ntp serverrtcsyncmakestep 1 3 #此出可以设置为:makestep 3 -1 当误差大于三秒时执行步进调整,而不用等待微调allow all #允许所有ip访问本时间服务器。

2023-10-27 15:02:58 1518

原创 grafana v10.1版本设置告警

如图所示,点击切换菜单标志,可以看到警报相关子选项。警报规则:通过PromQL语句定义告警规则,即达到怎样的状态触发告警。联络点: 设置当警报规则实例触发时,如何通知联系人,支持的方式有发送邮件,钉钉机器人消息,slack,webhook等。通过策略: 定义警报如何路由到联络点。例如如何匹配告警示例,设置关联联络点,设置group,通知时间控制。静默:设置静默时间段,再指定的时间阻止一个或多个警报通知。组:查看来自 Alertmanager(警报管理器)实例的分组警报。

2023-10-18 16:47:50 7135 5

原创 kibana设置ILM

需要注意的是,具体的索引生命周期策略还受到其他参数的影响,例如滚动布署的频率、索引模板、索引生命周期策略等。版本:是一个整数值,用于跟踪索引模板的版本号。需要自定义数据类型的场景:当文档中存在自定义的数据类型时,可以手动添加映射字段,并将其映射为相应的数据类型,以便在查询和聚合时能够正确地处理数据。数据类型已知且固定的场景:当文档中的字段类型固定且已知时,可以手动添加映射字段,以确保索引的准确性和性能。创建索引生命周期之前的创建的索引不会受索引生命周期影响,之后创建的索引会进入到索引生命周期的策略管理中。

2023-09-05 16:19:08 321

原创 kubevirt虚机创建svc通过NodePort的方式暴露端口

网络没有做透传,pod也不是underlay网络想要通过NodePort方式暴露虚机22端口进行远程登录。

2023-09-01 17:15:40 312 1

原创 grafana8.3创建告警规则

Loki是一个用于日志聚合和存储的系统。与传统的日志存储系统相比,Loki采用了一种高效的存储和索引方法,可以充分利用现代存储技术和硬件,以提供更高的性能和可扩展性。Loki支持使用标准的日志查询语言PromQL来查询和分析日志数据,并且与Cortex集成,可以实现和指标数据的混合查询和分析。通过勾选此选项,并设置相应的重复间隔时间,可以覆盖全局设置,使特定的告警规则使用不同的重复间隔时间。这样做的好处是,可以根据特定的告警规则的需求,灵活地定义重复间隔时间,以更加精确和准确地监控和警告系统的状态变化。

2023-08-31 17:18:28 2422 1

原创 centos7卸载docker

完成以上步骤后,Docker将被完全卸载。

2023-08-23 14:05:32 3527

原创 go mod使用最新提交依赖

修改了github.com/linuxsuren/go-fake-runtime代码,存在一个最新的commit hash值为25fa814c6232e545f5bce03bd4db04fc37e10250。至此项目依赖的github.com/linuxsuren/go-fake-runtime已由v0.0.1版本更为指定的commit。例如一个项目在其中依赖了 github.com/linuxsuren/go-fake-runtime v0.0.1。修改项目中的go.mod。

2023-08-15 17:13:12 499

原创 二进制方式启动docker registry

1. 从github下载registry 二进制包。2. 解压获取二进制文件registry。3. 创建配置文件config.yml。

2023-07-05 10:13:29 231

转载 ArgoWorkflow Lifecycle-Hook

ArgoWorkflow Lifecycle-Hook。

2023-06-01 16:33:34 122

原创 argo相关项目入门文章

工作流模板分为WorkflowTemplate(namespace级别资源)和ClusterWorkflowTemplate(cluster级别资源)可以作为模板库,用来被引用。argoworkflow连接gitlab,github等仓库是需要一个认证的secret的配置,用来将github action 转变为argoworkflow的工作流模板及相关资源。2. argoworkflow指南。用来发送工作流状态到git仓库。1. argocd指南。

2023-05-30 17:11:44 692

原创 window下生成SANs证书给ingress用

openssl下载地址:http://slproweb.com/products/Win32OpenSSL.html下载指定版本exe安装。

2022-12-12 17:29:02 491 1

转载 制作容器镜像的最佳实践

不同的基础镜像构建相同的应用会有不同的大小。构建体积更小的镜像,有利于镜像本身的传输,尤其在 Kubernetes 的环境中,镜像的传输会更加频繁,更小的体积意味着更快的调度时间和更小的空间占用。虽然 container 在运行的时候 ,是与系统隔离开的,但是如果你使用 root 运行容器的话,他在系统层面上看,也是 root 账号,权限是比较大的,对于很多需要编译运行的程序,如 Java, C, Golang 等,其编译环境和运行环境是不一样的,为了减小最终镜像的大小,我们可以使用上面提到的合并。

2022-11-24 15:39:14 647

原创 推送多架构镜像到同一仓库

下载arm64前要删除amd的镜像,因为拉取地址相同,不删除amd的拉取arm的会报错。1. 下载amd镜像,并重新tag。2. 下载arm镜像,并重新tag。3. 构架多架构镜像。

2022-11-17 10:43:13 1330

原创 开发构建一个Helm Chart包

创建一个chart包。将部署服务用到的yaml文件全部放到templates目录中,然后将yaml中可能每次都需要变动的地方修改为变量。将每次都需要变动的地方写到values.yaml中,让模板文件去引用,即可完成部署。手动创建一个chart包部署一个web项目。具体实现步骤:​ 1.创建一个chart包结构目录。​ 2.删除template下的所有文件。​ 3.将之前通过yaml部署的web程序的yaml文件放到template目录中,然后将yaml中经常需要修改的参数用变量替代。

2022-11-03 13:44:25 1206

翻译 Prometheus 和 Grafana 安装

Prometheus 和 Grafana 安装本文档描述了两种不同的安装和配置 Prometheus 和 Grafana 的方法。- 使用 Pod Annotations 安装 Prometheus 和 Grafana。这会将 Prometheus 和 Grafana 安装在与 NGINX Ingress 相同的命名空间中 - 使用服务监视器安装 Prometheus 和 Grafana。这会将 Prometheus 和 Grafana 安装在两个不同的命名空间中。

2022-09-30 14:54:03 722

转载 Nginx Ingress注解Annotations

Nginx Ingress 注解使用在 Ingress 资源实例中,用以设置当前 Ingress 资源实例中 Nginx 虚拟主机的相关配置,对应配置的是 Nginx 当前虚拟主机的 server 指令域内容。在与 Nginx Ingress 配置映射具有相同功能配置时,将按照所在指令域层级遵循 Nginx 配置规则覆盖。Nginx Ingress注解按照配置功能有如下分类。

2022-09-30 14:33:21 2008

原创 Karmada Overrider Policy

ImageOverrider 覆盖工负载的镜像CommandOverrider 覆盖工作负载的commandsArgsOverrider 覆盖工作负载的 argsPlaintextOverrider 通用工具,覆盖任何种类的资源具体字段定义如下:字段类型必填描述示例否限制了此覆盖策略适用的资源类型。nil 表示匹配所有资源。(字段结构同PropagationPolicy)否定义目标集群上的覆盖规则集合。否定义了对此覆盖策略应用到成员集群的目标选择。

2022-09-30 14:27:38 1354

原创 karmada介绍和分析

背景已用kind创建一个版本为1.23的集群:k8s123kubectl-karmada是kubectl的一个插件,用来操纵karmada的命令行工具。# 1.下载# 2.解压# 3.移动到指定目录command解释cordon标记指定集群不可调度get获取一个或多个资源init在kubernetes集群中安装karmadajoin注册一个集群到karmada控制面板(push模式)promote将资源从遗留(member)集群提升到karmada控制面板taint。

2022-09-30 14:23:49 2967

转载 使用 Kubernetes Ingress-Nginx 配置基于证书的相互身份验证

相互SSL认证或基于证书的相互认证是指双方通过验证提供的数字证书来相互认证,从而确保双方的身份。

2022-09-30 14:12:39 661

原创 Git的撤销操作

$ git reset HEAD~2此命令指删除两个版本的commit$ git commit -a -s -m "commit message"此命令指进行签名提交$ git push origin branch-name -f此命令指强制提交到远程分支

2022-03-11 16:56:45 202

原创 golang error处理之多error聚合

下面这段代码取自于云原生开源项目karmada,我们可以借鉴以下它的检查参数中处理error的方法。// Validate checks Options and return a slice of found errs.func (o *Options) Validate() field.ErrorList { errs := field.ErrorList{} newPath := field.NewPath("Options")​ skippedResourceConf

2022-03-10 09:56:37 1594

转载 如何使用 dlv 结合 Goland 进行程序 debug 调试

如何使用 dlv 结合 Goland 进行程序 debug 调试相信很多 Golang 的初级玩家不会进行程序的 Debug 定位问题单纯的靠脑子,或者效率很低的不断的添加日志打印,别问我为什么知道的因为我就是这样的,最好最快捷的问题定位方式一定是使用 Debug 打断点调试,这时就引出了本文的主角dlv。实际上,delve才是全称,dlv 只是启动命令,如果 VScode,Goland,默认使用的调试器就是基于 delve 的。安装 dlv参考官方的安装方法,把 dlv 命令安装在 go.

2022-01-28 15:45:25 3580

转载 5 张图带你搞懂容器网络的工作原理

使用容器总是感觉像使用魔法一样。对于那些理解底层原理的人来说容器很好用,但是对于不理解的人来说就是个噩梦。很幸运的是,我们已经研究容器技术很久了,甚至成功揭秘容器只是隔离并受限的 Linux 进程,运行容器并不需要镜像,以及另一个方面,构建镜像需要运行一些容器。现在是时候解决容器网络问题了。或者更准确地说,单主机容器网络问题。本文会回答这些问题: 如何虚拟化网络资源,让容器认为自己拥有独占网络? 如何让容器们和平共处,之间不会互相干扰,并且能够互相通信? 从容器内部如何访问外部

2022-01-24 09:16:55 237

转载 linux基础,这一篇就够了

1. Linux安装因为图太多了,转载一篇从虚拟机 vmware 配置到 centos7 详细安装教程https://www.cnblogs.com/wcwen1990/p/7630545.html2.linux常用命令2.1 常见目录/bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。 /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可

2022-01-24 09:14:30 122

转载 在 Kubernetes 中配置 Container Capabilities

我们在使用 Kubernetes 过程中,偶尔会遇到如下所示的一段配置:securityContext: capabilities: drop: - ALL add: - NET_BIND_SERVICE实际上这是配置对应的容器的Capabilities,在我们使用docker run的时候可以通过--cap-add和--cap-drop命令来给容器添加Linux Capabilities。对于大部分同学可能又要疑问Linux Capabili...

2022-01-12 15:58:31 1340

转载 Go:如何利用符号表

Illustration created for “A Journey With Go”, made from the original Go Gopher, created by Renee French.ℹ️本文基于 Go 1.13。符号表是由编译器生成和维护的,保存了与程序相关的信息,如函数和全局变量。理解符号表能帮助我们更好地与之交互和利用它。符号表Go 编译的所有二进制文件默认内嵌了符号表。我们来举一个例子并研究它。下面是代码:var AppVersion string..

2022-01-11 16:46:37 394

转载 nginx location匹配规则

语法规则nginx官方文档说明location [=|~|~*|^~|!~|!~*] /pattern/{...}默认值:no使用字段:server,location修饰符 功能 = 精确匹配 ~ 正则表达式模式匹配,区分大小写, !~取反 ~* 正则表达式模式匹配,不区分大小写, !~*取反 ^~ 前缀匹配,类似于无修饰符的行为,也是以指定模块开始,不同的是,如果模式匹配,那么就停止搜索其他模式了,不支持正则表达式 @ 定义命名l

2022-01-06 18:34:29 1818

转载 常用的清理 Kubernetes 集群资源命令

长时间运行的集群,常会面临各种资源耗尽的问题,另外磁盘不足时 Kubelet 还会主动清理镜像增加不确定因素,本文提供了一些命令片段用于清理工作。1. Kubernetes 基础对象清理 清理 Evicted 状态的 Pod kubectlgetpods--all-namespaces-owide|grepEvicted|awk'{print$1,$2}'|xargs-L1kubectldeletepod-n 清理 Error 状态的 Pod...

2021-12-28 09:13:08 275

转载 2022 年 11 大 GoLand 插件

要适应新的 IDE 可能是一种不和谐的体验,即使你熟悉是为了它支持的编程语言。它可能不像你熟悉的其他代码编辑工具那样工作,或者它可能缺少你习惯的某些功能。使用 IntelliJ GoLand 作为主要 IDE 的专业 Go 开发人员可能就是这种情况。幸运的是,IntelliJ IDE 提供了一种弥补可用性和生产力差距的快速方法——安装一些插件。插件可以提供熟悉度、添加基本功能、提高生产力并支持其他语言或文件格式。当我开始使用新的 IDE 时,我不会寻找插件。为什么?因为我很少知道它们的存在。如.

2021-12-22 09:37:56 12351

转载 Google12条Golang实践

这是直接总结好的 12 条,详细的再继续往下看:先处理错误避免嵌套 尽量避免重复 先写最重要的代码 给代码写文档注释 命名尽可能简洁 使用多文件包 使用 go get 可获取你的包 了解自己的需求 保持包的独立性 避免在内部使用并发 使用 Goroutine 管理状态 避免 Goroutine 泄露最佳实践这是一篇翻译文章,为了使读者更好的理解,会在原文翻译的基础增加一些讲解或描述。来在维基百科:"A best practice is a method or t

2021-12-07 18:39:53 288

转载 Nginx执行阶段

Nginx 介绍Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强OpenResty介绍OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展.

2021-11-29 16:18:04 547

转载 ingress-controller 源码分析

主要逻辑nginx controller 入口函数// file:k8s.io/ingress-nginx/nginx/main.gofunc main() { // step1: 初始化日志组件 klog.InitFlags(nil) ...... // step2:创建必要的目录 err = file.CreateRequiredDirectories() ...... // step 3 :初始化Apiserver...

2021-11-17 14:02:16 633 2

转载 混合kubebuilder与code generator编写CRD

概览kubebuilder和k8s.io/code-generator类似,是一个码生成工具,用于为你的CRD生成kubernetes-style API实现。区别在于:Kubebuilder不会生成informers、listers、clientsets,而code-generator会。 Kubebuilder会生成Controller、Admission Webhooks,而code-generator不会。 Kubebuilder会生成manifests yaml,而code-gener

2021-11-15 13:44:28 679

转载 VScode快捷键

按 Press 功能 Function Ctrl + Shift + P,F1 显示命令面板 Show Command Palette Ctrl + P 快速打开 Quick Open Ctrl + Shift + N 新窗口/实例 New window/instance Ctrl + Shift + W 关闭窗口/实例 Close window/instance 基础编辑 Basic editing按 Press 功能 Function Ct

2021-11-15 09:43:40 93

镜像构建工具介绍.pdf

docker镜像构建

2023-02-28

kubernetes从docker迁移到containerd.pdf

kubernetes从docker迁移到containerd.pdf

2023-02-28

CIS_Kubernetes_Benchmark_v1.5.0.pdf

CIS_Kubernetes_Benchmark_v1.5.0

2021-12-16

CIS_CentOS_Linux_8_Benchmark_v1.0.0.pdf

CIS_CentOS_Linux_8_Benchmark_v1.0.0

2021-12-16

CIS_CentOS_Linux_7_Benchmark_v3.0.0.pdf

CIS_CentOS_Linux_7_Benchmark_v3.0.0.

2021-12-16

CIS_Docker_Benchmark_v1.2.0.pdf

docker cis 基准规则

2021-02-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除