Kubernetes-Argo CD

news/2024/11/17 5:00:53/文章来源:https://www.cnblogs.com/Jas0n0ss/p/18350044

Kubernetes高级工具Argo CD

https://argo-cd.readthedocs.io/en/stable/

Argo CD 是针对 Kubernetes 的声明式 GitOps 持续交付工具。

Argo CD 是一个为 Kubernetes 而生的,遵循声明式 GitOps 理念的持续部署(CD)工具。

Argo CD 可在 Git 存储库更改时自动同步和部署应用程序。

argocd

Argo CD 用户界面

安装argo cd

[root@rocky01 canary] # kubectl create namespace argocd
[root@rocky01 canary] # kubectl config set-context context-lab --namespace argocd
[root@rocky01 canary] # kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
[root@rocky01 canary] # cat ingress-argocd.yml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: argocd-servernamespace: argocdannotations:kubernetes.io/ingress.class: "nginx"nginx.ingress.kubernetes.io/force-ssl-redirect: "true"nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:rules:- http:paths:- pathType: Prefixpath: /backend:service:name: argocd-serverport:name: httpshost: argocd.k8slab.iotls:- hosts:- argocd.k8slab.iosecretName: argocd-secret
[root@rocky01 canary] # kubectl create -f ingress-argocd.yml -n argocd
[root@rocky01 canary] # kubectl get svc | grep -w argocd-server
argocd-server                             ClusterIP   10.68.41.84     <none>        80/TCP,443/TCP               64m
argocd-server-metrics                     ClusterIP   10.68.141.115   <none>        8083/TCP                     64m
[root@rocky01 canary] # kubectl get ingress
NAME            CLASS    HOSTS              ADDRESS         PORTS     AGE
argocd-server   <none>   argocd.k8slab.io   192.168.5.239   80, 443   12m
[root@rocky01 canary] # curl -I argocd.k8slab.io
HTTP/1.1 308 Permanent Redirect
Date: Thu, 08 Aug 2024 19:03:26 GMT
Content-Type: text/html
Content-Length: 164
Connection: keep-alive
Location: https://argocd.k8slab.io
[root@rocky01 canary] # kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d   # 获取admin的登陆密码

如果在访问Argo-CD页面的时候出现太多重定向的问题请参考:https://github.com/argoproj/argo-cd/issues/2953

image-20240809030926858

[root@rocky01 canary] # argocd login argocd.k8slab.io
[root@rocky01 canary] # argocd app create guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path kustomize-guestbook --dest-server https://kubernetes.default.svc --dest-namespace default
[root@rocky01 canary] # alias argocdc='argocd --grpc-web'
[root@rocky01 canary] # argocd app sync guestbook
[root@rocky01 canary] # argocdc app get guestbook
Name:               argocd/guestbook
Project:            default
Server:             https://kubernetes.default.svc
Namespace:          argocd
URL:                https://argocd.k8slab.io/applications/guestbook
Source:
- Repo:             https://github.com/argoproj/argocd-example-apps.gitTarget:           HEADPath:             kustomize-guestbook
SyncWindow:         Sync Allowed
Sync Policy:        Manual
Sync Status:        Synced to HEAD (d7927a2)
Health Status:      HealthyGROUP  KIND        NAMESPACE  NAME                    STATUS  HEALTH   HOOK  MESSAGEService     argocd     kustomize-guestbook-ui  Synced  Healthy        service/kustomize-guestbook-ui created
apps   Deployment  argocd     kustomize-guestbook-ui  Synced  Healthy        deployment.apps/kustomize-guestbook-ui created

image-20240809032426533

image-20240809032553799

[root@rocky01 canary] # kubectl get svc | grep book
kustomize-guestbook-ui                    ClusterIP   10.68.125.77    <none>        80/TCP                       11m
[root@rocky01 canary] # kubectl create ingress --rule="guestbook-ui.k8slab.io/=kustomize-guestbook-ui:80" --class=nginx guestbook-ui
ingress.networking.k8s.io/guestbook-ui created
[root@rocky01 canary] # kubectl get ingress
NAME            CLASS    HOSTS                    ADDRESS         PORTS     AGE
argocd-server   <none>   argocd.k8slab.io         192.168.5.239   80, 443   37m
guestbook-ui    nginx    guestbook-ui.k8slab.io   192.168.5.239   80        11s
[root@rocky01 canary] # curl -I guestbook-ui.k8slab.io
HTTP/1.1 200 OK
Date: Thu, 08 Aug 2024 19:28:21 GMT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/780092.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes高级工具Argo CD

Kubernetes高级工具Argo CD https://argo-cd.readthedocs.io/en/stable/ Argo CD 是针对 Kubernetes 的声明式 GitOps 持续交付工具。 Argo CD 是一个为 Kubernetes 而生的,遵循声明式 GitOps 理念的持续部署(CD)工具。 Argo CD 可在 Git 存储库更改时自动同步和部署应用程序…

第二课DOS命令行窗口

what,why,how 从是什么,为什么,怎么做(具体实际操作)来学习把握。 场景1: (逢年过节时候) -七大姑八大姨问:超子,你现在在做什么工作啊? -我:干软件工程师。(心想说java,亲戚肯定听不懂) -七大姑八大姨又追问:那什么是软件啊?(搞得跟面试官一样) -我:就你手…

观影记录

想吃parfait,不想赤石 无职转生 ~到了异世界就拿出真本事~(Part1) - 2021.01 请务必给我一个这种手办!虽然这是件非常恐怖的事。 洛琪希是44岁的少女。想要成为影之实力者! - 2022.10 不愧是暗影大人,《蒙面泳装团》首席 I need more 抛瓦!~ I am atomic!~ 想要成为影…

全网最适合入门的面向对象编程教程:34 Python的内置数据类型-Python常用复合数据类型:元组和命名元组

元组是不可变的序列类型,可以包含不同类型的元素。命名元组是元组的子类,它允许你为元组中的位置指定名称,从而使代码更加清晰,本文主要介绍了两种元组的使用方法和应用场景。全网最适合入门的面向对象编程教程:34 Python的内置数据类型-Python常用复合数据类型:元组和命…

Luogu P5089 元素周期表 / Codeforces 1012B Chemical table 题解 [ 并查集 ] [ 二分图 ] [ 图论建模 ] [ 棋盘覆盖问题 ]

双倍经验:Luogu P5089 元素周期表 ,CF1012B Chemical table:模拟赛搬的好题,有点厉害。赛时10min码的假贪心拿了五十多分,赢。 并查集思路 1 对于此类棋盘整行整列覆盖问题,有一个通用思路:把每一行和每一列看作一个点,那么原本棋盘上的格子就可以看作是连接这些点的边…

常见的Linux分支

市面上可以接触到的Linux发行版本都是基于Linux内核和GUN协议开发出来的,当然还有一切企业内部自己开发定制的OS不在讨论范围,本随笔用于记录市面上常见的分支家族,如果对某个分支特别感兴趣可以自行深入了解

自适应PID控制器的simulink建模与仿真

1.课题概述对PID控制器参数kp,ki,kd进行参数自适应调整,实现PID控制器的最优控制,输出PID控制器,参数kp,ki,kd的收敛过程。2.系统仿真结果 kp,ki,kd的收敛过程如下:控制器输出如下:参考输入和控制器反馈输出的误差如下:3.核心程序与模型 版本:MATLAB2022a4.系统原理…

简单算法

冒泡排序// 冒泡排序加去重 public static int[] DistinctAndOrder(int[] OldArray) {if (OldArray != null && OldArray.Length > 0){//排序for (int i = 0; i < OldArray.Length - 1; i++){for (int j = 0; j < OldArray.Length - i - 1; j++){if (OldArray…

画廊 (2023 年 11 月至 2024 年 2 月中旬)

Gallery (II)上图于 2023 年 11 月 11 日摄于深圳技术大学。上图于 2023 年 11 月 12 日摄于深圳技术大学。上图于 2023 年 11 月 25 日摄于合肥中科大。上图于 2023 年 12 月 2 日摄于济南人民会堂。上图于 2023 年 12 月 9 日摄于北京密云。上图于 2024 年 1 月 20 日摄于绵阳…

SPSS、Python员工满意度问卷调查激励保健理论研究:决策树、随机森林和AdaBoost|附代码数据

全文链接:https://tecdat.cn/?p=37293 原文出处:拓端数据部落公众号 在深入了解公司当前的实际情况和员工内心真实想法的基础上,我们旨在从专业视角出发,为企业在组织管理方面的不足进行诊断,并进行全面审视。 为了更好地规划公司未来的发展方向,综合管理部特别组织了这…

Gradio

BiliBili视频 官网:https://www.gradio.app/ 为AI模型快速搭建交互式界面。根据AI模型需求,生成输入和输出组件,简化用户界面的构建过程。起步 基础安装pip install gradio官网示例import gradio as grdef greet(name, intensity):return "Hello, " + name + &quo…

IDEA 2024.2 正式发布,速览新功能!

0 前言 IntelliJ IDEA 2024.2 允许你直接在 IDE 运行 Spring Data JPA 方法,即时验证存储库查询。 简化了 cron 表达式管理,提供内联描述和高级自动补全功能,并升级 HTTP 客户端,使其使用 GraalJS 执行引擎。 该版本通过在项目索引期间启用关键功能,提高 IntelliJ IDEA 整…