
使用 Argo CD 的 UI 界面可视化管理 Flux 应用?
2023-10-08 07:59:25Weave GitOps 改善了开发人员体验,简化了在 Kubernetes 上部署和管理云原生应用程序的复杂性和认知负担,使团队可以更快地开展工作,它是 Flux 的一个强大扩展。
Flux 项目原本提供了一个 Web UI 来管理 Flux 集群,但该项目已经存档,FluxCD 组织不再开发,所以我们这里不再介绍了,如果你想使用 Web UI 来管理 Flux 集群,可以使用 Weaveworks 提供的weave-gitops(
项目,该下面为 Flux 提供了一个免费的开源 GUI。
Weave GitOps 改善了开发人员体验,简化了在 Kubernetes 上部署和管理云原生应用程序的复杂性和认知负担,使团队可以更快地开展工作,它是 Flux 的一个强大扩展。
Weave GitOps 可以帮助应用程序运维人员轻松发现和解决问题 – 简化和扩展 GitOps 和持续交付的采用。UI 提供了引导式体验,可帮助用户轻松发现 Flux 对象之间的关系并加深理解,同时提供对应用程序部署的见解。
Weave GitOps 初了提供了一个开源的版本之外,还有一个企业版本,其 OSS 版本是一个简单的开源开发者平台,适合那些没有 Kubernetes 专业知识但想要云原生应用程序的人。它包括 UI 和许多其他功能,使团队超越简单的 CI/CD 系统。体验启用 GitOps 并在集群中运行应用程序是多么容易。我们这里当然是使用开源版本了。
Weave GitOps 提供了一个命令行界面,可帮助用户创建和管理资源。gitops CLI 目前在 Mac(x86 和 Arm)和 Linux 上受支持,包括 Windows Subsystem for Linux (WSL)。
有多种方法可以安装 gitops CLI:
$ cURL --silent --location "https://github.com/weaveworks/weave-gitops/releases/download/v0.32.0/gitops-$(uname)-$(uname -m).tar.gz" | tar xz -C /tmp$ sudo mv /tmp/gitops /usr/local/bin$ gitops versionCurrent Version: 0.32.0GitCommit: 49a4249d8c205f14f0777c921cd69c04951e208fBuildTime: 2023-09-13T17:23:13ZBranch: releases/v0.32.0
当然如果是 Mac 用户可以使用 Homebrew 进行一键安装:
brew tap weaveworks/tapbrew install weaveworks/tap/gitops
CLI 工具安装完成后,接下来就可以来部署 Weave GitOps 了,我们将:
前面我们安装 Flux 的基础设施代码仓库为,现在我们 Clone 这个仓库到本地:
$ git clone$ cd flux
然后运行以下命令创建HelmRepository和HelmRelease来部署 Weave GitOps:
PASSWORD="gitops321"# 设置登录密码gitops create dashboard ww-gitops \--password=$PASSWORD \--export > ./clusters/my-cluster/weave-gitops-dashboard.yaml
然后提交weave-gitops-dashboard.yaml并将其推送到 flux 基础存储库中去:
git add -A && git commit -m "Add Weave GitOps Dashboard"git push
然后隔一会儿可以去检测下是否已经部署成功了:
$ kubectl get pods -n flux-system
如果想要定制 Weave GitOps 的部署,可以通过配置 Helm Chart 的 Values 来实现,可配置的参数可以参考文档:。
现在我们想要访问 Weave GitOps 的 Web UI,可以通过kubectl port-forward命令来实现:
kubectl port-forward svc/ww-gitops-weave-gitops -n flux-system 9001:9001
然后我们就可以通过浏览器访问来访问 Weave GitOps 的 Web UI 了,输入用户名为admin,密码为前面配置的PASSWORD的值,即可登录:
weave gitops
登录后,可以将进入APPLICATIONS视图,该视图可以快速了解部署的状态并显示来自Kustomization和HelmRelease对象的摘要信息。我们还可以使用右上角的切换开关应用深色模式。
APPLICATIONS
让我们来探索下flux-system这个基础设施Kustomization对象,返回到应用程序视图,并点击flux-system对象。
flux-system deTail
可能需要一些时间来加载数据。一旦加载完成,应该会得到一个类似上面截图的结果。在这里,可以找到有关资源定义的关键信息。
在 UI 的左侧菜单中,单击SOURCES视图,这将向你显示 Flux 从何处提取其应用程序定义(例如 Git 存储库)以及该同步的当前状态。Sources显示来自GitRepository、HelmRepository、HelmChart和Bucket对象的摘要信息。
源列表
除此之外还有其他的一些功能,比如IMAGE AUTOMATION页面、POLICIES也没、NOTIFICATIONS页面等等。但是可以发现这个 UI 主要是用于展示的,我们并不能通过页面去创建资源对象,所以我们还是推荐使用命令行来管理 Flux 集群。
Flamingo 是 Argo 的 Flux 子系统(FSA),Flamingo 的容器镜像可以作为等效的 ArgoCD 版本的插件扩展,与 Argo CD 一起可视化和管理 Flux 工作负载。
Loopback Reconciliation是 Flamingo 的一项功能,有助于同步使用 GitOps 方法部署的应用程序。当 Argo CD 用户界面中启用FluxSubsystem功能时,它会被激活。其工作原理如下:
Loopback Reconciliation通过使应用程序的状态与 Flux 对象中定义的所需状态保持同步,有助于确保基于 GitOps 的部署的可靠性和一致性。
要安装Flamingo比较简单,我们可以通过 Flux 的Kustomization对象来部署,创建如下所示的资源对象:
# flamingo.yamlapiVersion: source.toolkit.fluxcd.io/v1beta2kind: OCIRepositorymetadata:name: fsa-demonamespace: flux-systemspec:interval: 30surl: oci://ghcr.io/flux-subsystem-argo/flamingo/manifestsref:tag: latest---apiVersion: kustomize.toolkit.fluxcd.io/v1kind: Kustomizationmetadata:name: fsa-demonamespace: flux-systemspec:prune: trueinterval: 2mpath: "./demo"sourceRef:kind: OCIRepositoryname: fsa-demotimeout: 3m
然后直接应用该资源对象即可:
$ kubectl apply -f flamingo.yaml$ kubectl get ocirepository fsa-demo -n flux-systemNAMEURLREADYSTATUSAGEfsa-demooci://ghcr.io/flux-subsystem-argo/flamingo/manifestsTruestored artifact for digest 'latest@sha256:e9df1250e9e9ae2931a6121b11f30f989cb20aaa4326659fd8ee5b6dd8ddec94'72s$ kubectl get kustomization fsa-demo -n flux-systemNAMEAGEREADYSTATUSfsa-demo82sTrueApplied revision: latest@sha256:e9df1250e9e9ae2931a6121b11f30f989cb20aaa4326659fd8ee5b6dd8ddec94
上面的资源对象会创建一个 argocd 的命名空间,并会部署 Argo CD 的所有组件:
$ kubectl get pods -n argocdNAMEREADYSTATUSRESTARTSAGEargocd-application-controller-01/1Running02m16sargocd-applicationset-controller-c9b9899d6-t4gh61/1Running02m16sargocd-dex-Server-798cc6585d-dtc4k1/1Running02m16sargocd-notifications-controller-5b77dc9659-7t9cw1/1Running02m16sargocd-redis-b5d6bf5f5-6kdgc1/1Running02m16sargocd-repo-server-785445967d-xxrq71/1Running02m16sargocd-server-758f648df4-8zhc51/1Running02m16s
argocd 部署完成后,我们可以通过kubectl port-forward命令来访问 Argo CD 的 Web UI:
$ kubectl -n argocd port-forward svc/argocd-server 8003:443
然后我们就可以通过浏览器访问来访问 Argo CD 的 Web UI 了。
默认情况下会有 2 个 FSA 应用,每个应用程序由 1 个 Flux 的Kustomization和 1 个 Flux 的GitRepository组成。
如果你现有集群中已经安装了 Argo CD,那么我们可以使用下面的命令来升级现有的 Argo CD。如果已经安装了 Argo CD,可以使用来自 FSA 的镜像替换现有安装的镜像。
kustomize build${FSA_VERSION} \| yq e '. | select(.kind=="Deployment" or .kind=="StatefulSet")' - \| kubectl -n argocd apply -f -
如果想要将现有的 Flux 应用转换成 FSA 应用,可以使用flamingo的 CLI 命令来实现,所以首先需要安装flamingo命令行工具,前往 Flamingo CLI Release 页面下载对应的版本即可,然后解压后将二进制文件移动到/usr/local/bin目录下即可:
$ flamingo --versionflamingo version 0.3.1
CLI 工具安装完成后,接下来我们就可以将现有的 Flux 应用转换成 FSA 应用了,比如现在我们创建一个如下所示的 Flux Kustomization 对象:
cat << EOF | kubectl apply -f ----apiVersion: v1kind: Namespacemetadata:name: podinfo-kustomize---apiVersion: source.toolkit.fluxcd.io/v1beta2kind: OCIRepositorymetadata:name: podinfonamespace: podinfo-kustomizespec:interval: 10murl: oci://ghcr.io/stefanprodan/manifests/podinforef:tag: latest---apiVersion: kustomize.toolkit.fluxcd.io/v1kind: Kustomizationmetadata:name: podinfonamespace: podinfo-kustomizespec:interval: 10mtargetNamespace: podinfo-kustomizeprune: truesourceRef:kind: OCIRepositoryname: podinfopath: ./EOF
创建后我们可以使用下面的命令来生成一个 FSA 应用:
flamingo generate-app \--app-name=podinfo-ks \-n podinfo-kustomize ks/podinfo
创建完成后我们再去访问 Argo CD 的 Web UI,可以看到已经生成了一个 FSA 应用:
这样我们就可以通过 Argo CD 的 Web UI 界面来管理 Flux 的应用了。
为什么我的电脑现在玩游戏只能开窗口模式?

蓝屏故障和其它故障一样,根据成因大致可以分为软件和硬件两个方面。 现在还是遵循先软后硬的原则来看看故障的成因和解决办法吧!一、软件引起的蓝屏故障1.重要文件损坏或丢失引起的蓝屏故障(包括病毒所致)。 实例:Win98中的VxD(虚拟设备驱动程序)或是.DLL 动态连接库 之类的重要文件丢失,情况一般会比较严重,会出现“蓝屏警告”。 解决方法一:记下所丢失或损坏的文件名 用Win98启动盘中的“Ext”命令从Win98安装盘中提取和恢复被损坏或丢失的文件,步骤如下:(1)用Win98启动盘引导计算机,在提示符下敲入“Ext”命令。 (2)在提示“Please enter the path to the Windows CAB files( a):”后输入Win98安装压缩包所在的完整路径,如“F \Pwin98\Win98”,完成后回车。 (3)在提示“Please enter the name(s)of the file(s) you WANt to extract:”后输入你记下的丢失文件名,如“Bios.Vxd”,回车。 (4)在解压路径提示“Please enter path to extract to(‘Enter’ for current directory):”后输入文件将被解压到的完整路径,如“C \Windows\System”并敲回车。 (5)最后出现确认提示“Is this Ok?(y/n):”,输入“y”后回车。 “Ext”程序会自动查找安装盘中的CAB压缩包,并将文件释放到指定的位置。 (6)重新启动即可。 解决方法二:用杀毒软件杀毒。 有的病毒可能会破坏注册表项 杀毒后注册表应恢复中毒之前的备份。 解决方法三:如果能启动图形界面,可以采取重装主板以及显卡的驱动程序,和进行“系统文件扫描”来恢复被破坏或丢失的文件。 “系统文件扫描”的方法为 单击“开始/程序/附件/系统工具/系统信息/工具/系统文件检查器”,然后扫描改动过的文件即可。 2.注册表损坏导致文件指向错误所引起的蓝屏。 实例:注册表的擅自改动(包括人为地改动和软件安装时的自动替换) 其现象表现为开机或是在调用程序时出现蓝屏,并且屏幕有出错信息显示(包含出错的文件名)。 解决方法一:恢复备份。 (1)单击“开始/关机/重新启动计算机并切换到MS-DOS方式”,然后单击“是”;(2)进入Windows目录下。 例如,如果你的Windows安装在“C \Windows” 目录下,应键入以下内容 “CD C \WINDOWS”后回车;(3)键入“SCANREG\RESTORE”后回车。 (4)按照上述步骤,可以将注册表恢复到最近一次启动计算机时的状态。 解决方法二:删除键值。 如果是在卸载程序后出现蓝屏的话,笔者断定故障是由于程序卸载不完善造成的。 解决这类问题非常简单,首先你要记下出错的文件名,然后再到注册表中找到以下分支“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD”。 在“查找”中输入刚才的文件名,把查到的键值删除即可。 此时,千万不要忘记备份注册表哦!典型案例:笔者在删除金山毒霸时中途死机,重新启动后刚看到桌面的图标就出现蓝屏,并伴有错误信息出现。 错误信息中提到Kavkrnl.vxd文件找不到,笔者首先根据文件名的前两个字符确定该文件不是Win98的系统文件,ka开头的应是金山毒霸的虚拟设备驱动程序。 基本判断为文件指向错误,于是决定删除它在注册表中相应键值。 在注册表编辑器的查找中输入“Kavkrnl.vxd”,将它在“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD”中的相应主键值删除,重启后故障消除。 3.System.ini 文件错误引起的“蓝屏”。 实例:软件卸载或是安装后未即时更新System.ini 文件所造成的错误。 解决方法:禁用注册表中该项或是重新安装相应的软件或驱动程序。 4.Win98自身的不完善造成的蓝屏。 实例:Win98的sp1和Microsoft的Vxd_fix.exe补丁程序对Win98的稳定性起着至关重要的作用。 解决方法:快去下载吧,如华军网站南京站http //nj.onlinedown.net/Win98SP1.htm Win98sp1 及http //nj.onlinedown.net/Windows98VxDpatch.htm Vxd_fix.exe 。 5.系统资源耗尽引起的蓝屏故障。 实例:蓝屏故障常常发生在进行一项比较大的工作时,或是在保存复制的时候,且往往发生得比较突然。 这类故障的发生原因主要是与三个堆资源(系统资源、用户资源、GDI资源)的占用情况有关。 解决方法:打开你的资源状况监视器,看一下剩余资源,如果你的三种资源都在50%甚至更低,就很容易出现诸如“非法操作”、“蓝屏”或“死机”故障。 为此,必须减少资源浪费,减少不必要的程序加载,避免同时运行大程序(图形、声音和视频软件),例如加载计划任务程序,输入法和声音指示器,声卡的DOS驱动程序,系统监视器程序等等。 6.DirectX问题引起的蓝屏故障。 实例:(1)DirectX版本过低或是过高;(2)游戏与它不兼容或是不支持;(3)辅助重要文件丢失;(4)显卡对它不支持。 解决方法:升级或是重装DirectX。 如果是显卡不支持高版本的DirectX那就说明你的显卡实在是太老了,尝试更新显卡的BIOS和驱动程序,否则,只好花钱升级显卡了。 二、硬件引起的蓝屏故障1.内存超频或不稳定造成的蓝屏。 实例:随机性蓝屏。 解决方法:先用正常频率运行,若还有问题。 找一根好的内存条进行故障的替换查找,一般可以解决。 再就是应当注意当CPU离内存很近时内存的散热问题。 2.硬件的兼容性不好引起的蓝屏。 兼容机好就好在它的性价比较高,坏就坏在它在进行组装的时候,由于用户没有完善的监测手段和相应的知识,无法进行一系列的兼容性测试,从而把隐患留在了以后的使用过程中。 实例:升级内存时,将不同规格的内存条混插引起的故障。 解决方法:注意内存条的生产厂家、内存颗粒和批号的差异,往往就是因为各内存条在主要参数上的不同而产生了蓝屏或死机,甚至更严重的内存故障。 也可以换一下内存条所插的插槽位置。 如果内存条还是不能正常工作,那就只好更换了。 此处,提醒各位:内存在整个微机系统中起着非常重要的作用,它的好坏将直接影响到系统的稳定性,所以在内存的选购时要注意,最好是有内行人陪伴,避免买到Remark过的条子或频率过低的条子。 3.硬件散热引起的“蓝屏”故障。 实例:在微机的散热问题上所出现的故障,往往都有一定规律,一般在微机运行一段时间后才出现,表现为蓝屏死机或随意重启。 故障原因主要是过热引起的数据读取和传输错误。 解决方法:采取超频的应降频,超温的应降温。 其实不一定所有的故障都那么复杂,有时候从简单的方面考虑,也能很好地解决问题 要学会触类旁通。 4.I/O冲突引起的蓝屏现象。 解决方法:这种现象出现得比较少,如果出现了,可以从系统中删除带!号或?号的设备名,重新启动计算机进行确认,或者请高手手动分配系统资源。 凡事要防患于未然,下面是笔者总结出来的一些经验,可供大家参考:1 定期对重要的注册表文件进行手工备份,避免系统出错后,未能及时替换成备份文件而产生不可挽回的错误。 2 尽量避免非正常关机,减少重要文件的丢失。 如.VxD .DLL文件等。 3 对普通用户而言,只要能正常运行,没有必要去升级显卡、主板的BIOS和驱动程序,避免升级造成的危害。 4 定期检查优化系统文件,运行“系统文件检查器”进行文件丢失检查及版本校对。 检查步骤参见前面相关介绍。 5 减少无用软件的安装,尽量不用手工卸载或删除程序,以减少非法替换文件和文件指向错误的出现。 6 如果不是内存特别大和其管理程序非常优秀,尽量避免大程序的同时运行,如果你发现在听MP3时有沙沙拉拉的声音,基本可以判定该故障是由内存不足而造成的
电脑上的一些快捷键比如,切换窗口的TAB+ALT 知道的告诉我一些
F1 显示当前程序或者Windows的帮助内容。 F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT激活当前程序的菜单栏 windows键或CTRL+ESC打开开始菜单 CTRL+ALT+DELETE在win9x中打开关闭程序对话框 DELETE 删除被选择的选择项目,如果是文件,将被放入回收站 SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站 CTRL+N 新建一个新的文件 CTRL+O 打开“打开文件”对话框 CTRL+P 打开“打印”对话框 CTRL+S 保存当前操作的文件 CTRL+X 剪切被选择的项目到剪贴板 CTRL+INSERT 或 CTRL+C复制被选择的项目到剪贴板 SHIFT+INSERT 或 CTRL+V 粘贴剪贴板中的内容到当前位置 ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE重做上一步被撤销的操作 Windows键+M最小化所有被打开的窗口。 Windows键+CTRL+M 重新将恢复上一项操作前窗口的大小和位置 Windows键+E打开资源管理器 Windows键+F打开“查找:所有文件”对话框 Windows键+R打开“运行”对话框 Windows键+BREAK打开“系统属性”对话框 Windows键+CTRL+F 打开“查找:计算机”对话框 SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单 SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。 在打开Word的时候按下不放,可以跳过自启动的宏 ALT+F4 关闭当前应用程序 ALT+SPACEBAR 打开程序最左上角的菜单 ALT+TAB 切换当前程序 ALT+ESC 切换当前程序 ALT+ENTER将windows下运行的MSDos窗口在窗口和全屏幕状态间切换 PRINT SCREEN 将当前屏幕以图象方式拷贝到剪贴板 ALT+PRINT SCREEN 将当前活动程序窗口以图象方式拷贝到剪贴板 CTRL+F4 关闭当前应用程序中的当前文本(如word中) CTRL+F6 切换到当前应用程序中的下一个文本(加shift 可以跳到前一个窗口) 一.在IE中: ALT+RIGHT ARROW显示前一页(前进键) ALT+LEFT ARROW显示后一页(后退键) CTRL+TAB 在页面上的各框架中切换(加shift反向) F5 刷新 CTRL+F5 强行刷新 目的快捷键 激活程序中的菜单栏 F10 执行菜单上相应的命令 ALT+菜单上带下划线的字母 关闭多文档界面程序中的当 前窗口 CTRL+ F4 关闭当前窗口或退出程序 ALT+ F4 复制 CTRL+ C 剪切 CTRL+ X 删除 DELETE 显示所选对话框项目的帮助 F1 显示当前窗口的系统菜单 ALT+空格键 显示所选项目的快捷菜单 SHIFT+ F10 显示“开始”菜单 CTRL+ ESC 显示多文档界面程序的系统 菜单 ALT+连字号(-) 粘贴 CTR L+ V 切换到上次使用的窗口或者 按住 ALT然后重复按TAB, 切换到另一个窗口 ALT+ TAB 撤消 CTRL+ Z 二、使用“Windows资源管理器”的快捷键 目的快捷键 如果当前选择展开了,要折叠或者选择父文件夹左箭头 折叠所选的文件夹 NUM LOCK+负号(-) 如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头 展开当前选择下的所有文件夹 NUM LOCK+* 展开所选的文件夹 NUM LOCK+加号(+) 在左右窗格间切换 F6 三、使用 Windows键 可以使用 Microsoft自然键盘或含有 Windows徽标键的其他任何兼容键盘的以下快 捷键。 目的快捷键 在任务栏上的按钮间循环 WINDOWS+ TAB 显示“查找:所有文件” WINDOWS+ F 显示“查找:计算机” CTRL+ WINDOWS+ F 显示“帮助” WINDOWS+ F1 显示“运行”命令 WINDOWS+ R 显示“开始”菜单 WINDOWS 显示“系统属性”对话框 WINDOWS+ BREAK 显示“Windows资源管理器” WINDOWS+ E 最小化或还原所有窗口 WINDOWS+ D 撤消最小化所有窗口 SHIFT+ WINDOWS+ M 四、使用“我的电脑”和“Windows资源管理器”的快捷键 目的快捷键 关闭所选文件夹及其所有父 文件夹按住 SHIFT键再单击“关闭按钮(仅适用于“我的电脑”) 向后移动到上一个视图 ALT+左箭头 向前移动到上一个视图 ALT+右箭头 查看上一级文件夹 BACKSPACE 五、使用对话框中的快捷键 目的快捷键 取消当前任务 ESC 如果当前控件是个按钮,要 单击该按钮或者如果当前控 件是个复选框,要选择
怎样写一个打开dos窗口的文档
直接可以打开的如下:开始→运行→命令 集锦!winver---------检查Windows版本 ----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板 winmsd---------系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------XP自带局域网聊天 --------显示内存使用情况 ---系统配置实用程序 mplayer2-------简易widnows media player mspaint--------画图板 mstsc----------远程桌面连接 mplayer2-------媒体播放机 magnify--------放大镜实用程序 mmc------------打开控制台 mobsync--------同步命令 dxdiag---------检查DirectX信息 drwtsn32------ 系统医生 --- 设备管理器 -------磁盘碎片整理程序 ---磁盘管理实用程序 dcomcnfg-------打开系统组件服务 ddeshare-------打开DDE共享设置 dvdplay--------DVD播放器 net stop messenger-----停止信使服务 net start messenger----开始信使服务 notepad--------打开记事本 nslookup-------网络管理的工具向导 ntbackup-------系统备份和还原 narrator-------屏幕“讲述人” ----移动存储管理器 ---移动存储管理员操作请求 netstat -an----(TC)命令检查接口 syncapp--------创建一个公文包 sysedit--------系统配置编辑器 sigverif-------文件签名验证程序 sndrec32-------录音机 shrpubw--------创建共享文件夹 -----本地安全策略 syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 ---本地服务设置 Sndvol32-------音量控制程序 --------系统文件检查器 sfc /scannow---windows文件保护
发表评论