5

Argocd/Argocd Rolloouts/Argocd-cli/kubectl argo rollouts插件部署

 1 year ago
source link: https://blog.51cto.com/yht1990/5959929
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Argocd/Argocd Rolloouts/Argocd-cli/kubectl argo rollouts插件部署

精选 原创

yht_1990 2022-12-21 14:48:53 博主文章分类:K8s ©著作权

文章标签 github linux 名称空间 文章分类 其它 服务器 阅读数208

argocd部署

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

部署地址参考

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

 ​https://github.com/argoproj/argo-cd/releases/tag/v2.5.5​

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.5.5/manifests/ha/install.yaml
kubectl get pods -n argocd

获取登陆密码

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo

终端登陆和修改密码

kubectl edit svc argocd-server -n argocd # 修改svc为nodeport
kubectl get svc -n argocd | grep -w argocd-server # 查询登陆IP
argocd login 10.108.167.44 # ip为argocd service的ip
argocd account update-password # 更新密码
Argocd/Argocd Rolloouts/Argocd-cli/kubectl argo rollouts插件部署_github

argocd cli部署

# 下载页面,拉到最下
https://github.com/argoproj/argo-cd/releases/tag/v2.5.5

# 下载链接
https://github.com/argoproj/argo-cd/releases/download/v2.5.5/argocd-linux-amd64

mv argocd-linux-amd64 /usr/bin/argocd
chmod +x /usr/bin/argocd

argocd cli管理application

argocd app 子命令

子命令
基础命令: create/delete/edit/get/list
日常管理类命令:diff/logs/sync/rollback/history/terminate-op
基它管理命令:manifests/delete-resource/patch/patch-resource/unset/wait

创建application
argocd app create appname [flages]

常用的flags
--repo string: git仓库url
--path string: git 仓库中含有配置文件的子目录路径
--directory-recure:对目录进行递归
--revision string: 要使用的Revision,通常是指源码库上的branch、tag、commit或Helm chart版本
-f, --file string:部署Application用到的配置文件路径或URL,优先级高于“--repo”和“--path”选项
--release-name string:配置为Helm Charts时,为其指定release的名称
--project string:隶属的Project,默认为default
--dest-server string:目标Kubernetes集群的URL(API Server的URL);
--dest-namespace string:目标名称空间

argocd cli使用示例

创建
argocd app create guestbook --repo https://gitee.com/mageedu/argocd-example-apps.git --path guestbook --dest-namespace
default --dest-server https://kubernetes.default.svc --directory-recurse

列出
argocd app list

查看guestbook示例的详细信息
argocd app get guestbook

手动执行sync
argocd app sync guestbook

启用自动同步
argocd app set <APPNAME> --sync-pold$d$icy automated

启动自动修剪
argocd app set <APPNAME> --auto-prune

自动自我修复
argocd app set <APPNAME> --self-heal

禁止修剪特定的资源
metadata:
annotations:
argocd.argoproj.io/sync-options: Prune=false

禁用kubectl验证
metadata:
annotations:
argocd.argoproj.io/sync-options: Validate=false

有选择地执行同步(两种途径之一)
◆ 命令:argocd app set <APPNAME> --sync-option ApplyOutOfSyncOnly={true|false}
配置:
apiVersion: argoproj.io/v1alpha1
kind: Application
spec:
syncPolicy:
syncOptions:
- ApplyOutOfSyncOnly=true

资源修剪传播策略
◆ 命令: argocd app set <APPNAME> --sync-option PrunePropagatinotallow={foreground|background|orphan}
是否同步完成后再进行修剪
◆ 命令: argocd app set <APPNAME> --sync-option PruneLast={true|false}
◼ 若存在共享资源,是否将同步置为Fail
◆ 命令: argocd app set <APPNAME> --sync-option FailOnSharedResource={true|false}
◼ 是否忽略差异
◆ 命令: argocd app set <APPNAME> --sync-option RespectIgnoreDifferences={true|false}
◼ 是否自动创建名称空间
◆ 命令:argocd app set <APPNAME> --sync-option CreateNamespace={true|false}

管理gti repo

添加Repo
◼ argocd repo add REPOURL [flags]
◼ 常用选项
◆--name string:当前Repo的名称
◆--ssh-private-key-path string:用于访问Git Repo的SSH私钥文件路径
◆--insecure-ignore-host-key:不校验host key
◆--insecure-skip-server-verification:不校验host key和server certificate
◆--username string:用户名
◆--password string:密码
◆--project string:Repo所属的Project
◆--type string:Repo的类型
其它命令
◼ get
◼ list
◼ rm

管理Cluster

添加Cluster
◼ 命令:argocd cluster add CONTEXT [flags]
◼ 常用选项
◆--name string:Cluster的标识
◆--in-cluster:ArgoCD自身运行在的Kubernetes集群,访问地址为https://kubernetes.default.svc;
◆--kubeconfig string:使用指定的kubeconfig文件
◆--namespace stringArray:目标名称空间
◆--project string:所属的Project
◆--service-account string:使用的ServiceAccount
◼ 其它命令
◆get
◆list
◆rm
◆rotate-auth

Argocd Rollout部署

安装地址
https://github.com/argoproj/argo-rollouts/releases/tag/v1.3.2

kubectl create namespace argo-rollouts
kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/download/v1.3.2/install.yaml

kubectl get pods -n argo-rollouts
kubectl get svc -n argo-rollouts

# 修改svc type为NodePort
kubectl edit svc argo-rollouts-dashboard -n argo-rollouts

访问Argocd Rollout dashboard

Argocd/Argocd Rolloouts/Argocd-cli/kubectl argo rollouts插件部署_名称空间_02

kubectl argo rollouts插件部署

argo rollouts专用的kubectl插件为可选组件,但安装该组件将能够非常便捷地使用Argo Rollouts

下载页面地址
https://github.com/argoproj/argo-rollouts/releases/tag/v1.3.2

下载
wget -c https://github.com/argoproj/argo-rollouts/releases/download/v1.3.2/kubectl-argo-rollouts-linux-amd64
mv kubectl-argo-rollouts-linux-amd64 /usr/bin/kubectl-argo-rollouts
chmod +x /usr/bin/kubectl-argo

命令执行示例
kubectl argo rollouts
  • 打赏
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK