参考官方文档:https://argo-cd.readthedocs.io/en/stable/getting_started/
0. 前提要求
- 已经安装了kubectl命令行工具
- 存在kubeconfig文件(默认位置是 ~/.kube/config)
1. 安装
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
如果没有配置科学上网,可能会找不到这个.yaml,我搬运到文章最后,可以拷贝到本地再kubectl apply安装。
2. 访问
为了本地访问,可通过Kubectl 端口转发连接到 API 服务器,而无需暴露该服务。
kubectl port-forward svc/argocd-server -n argocd 1998:443
然后,可以使用 localhost:1998 访问 API 服务器
3. 登录
默认用户名为 admin,默认密码是自动生成的argocd-server pod名

https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml 文件:
# This is an auto-generated file. DO NOT EDIT
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
labels:
app.kubernetes.io/name: applications.argoproj.io
app.kubernetes.io/part-of: argocd
name: applications.argoproj.io
spec:
additionalPrinterColumns:
- JSONPath: .status.sync.status
name: Sync Status
type: string
- JSONPath: .status.health.status
name: Health Status
type: string
- JSONPath: .status.sync.revision
name: Revision
priority: 10
type: string
group: argoproj.io
names:
kind: Application
listKind: ApplicationList
plural: applications
shortNames:
- app
- apps
singular: application
scope: Namespaced
subresources: {}
validation:
openAPIV3Schema:
description: Application is a definition of Application resource.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
operation:
description: Operation contains requested operation parameters.
properties:
info:
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
initiatedBy:
description: OperationInitiator holds information about the operation initiator
properties:
automated:
description: Automated is set to true if operation was initiated automatically by the application controller.
type: boolean
username:
description: Name of a user who started operation.
type: string
type: object
retry:
description: Retry controls failed sync retry behavior
properties:
backoff:
description: Backoff is a backoff strategy
properties:
duration:
description: Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h")
type: string
factor:
description: Factor is a factor to multiply the base duration after each failed retry
format: int64
type: integer
maxDuration:
description: MaxDuration is the maximum amount of time allowed for the backoff strategy
type: string
type: object
limit:
description: Limit is the maximum number of attempts when retrying a container
format: int64
type: integer
type: object
sync:
description: SyncOperation contains sync operation details.
properties:
dryRun:
description: DryRun will perform a `kubectl apply --dry-run` without actually performing the sync
type: boolean
manifests:
description: Manifests is an optional field that overrides sync source with a local directory for development
items:
type: string
type: array
prune:
description: Prune deletes resources that are no longer tracked in git
type: boolean
resources:
description: Resources describes which resources to sync
items:
description: SyncOperationResource contains resources to sync.
properties:
group:
type: string
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
- name
type: object
type: array
revision:
description: Revision is the revision in which to sync the application to. If omitted, will use the revision specified in app spec.
type: string
source:
description: Source overrides the source definition set in the application. This is typically set in a Rollback operation and nil during a Sync operation
properties:
chart:
description: Chart is a Helm chart name
type: string
directory:
description: Directory holds path/directory specific options
properties:
exclude:
type: string
jsonnet:
description: ApplicationSourceJsonnet holds jsonnet specific options
properties:
extVars:
description: ExtVars is a list of Jsonnet External Variables
items:
description: JsonnetVar is a jsonnet variable
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet Top-level Arguments
items:
description: JsonnetVar is a jsonnet variable
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters to the helm template
items:
description: HelmFileParameter is a file parameter to a helm template
properties:
name:
description: Name is the name of the helm parameter
type: string
path:
description: Path is the path value for the helm parameter
type: string
type: object
type: array
parameters:
description: Parameters are parameters to the helm template
items:
description: HelmParameter is a parameter to a helm template
properties:
forceString:
description: ForceString determines whether to tell Helm to interpret booleans and numbers as strings
type: boolean
name:
description: Name is the name of the helm parameter
type: string
value:
description: Value is the value for the helm parameter
type: string
type: object
type: array
releaseName:
description: The Helm release name. If omitted it will use the application name
type: string
valueFiles:
description: ValuesFiles is a list of Helm value files to use when generating a template
items:
type: string
type: array
values:
description: Values is Helm values, typically defined as a block
type: string
version:
description: Version is the Helm version to use for templating with
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet specific options
properties:
environment:
description: Environment is a ksonnet application environment name
type: string
parameters:
description: Parameters are a list of ksonnet component parameter override values
items:
description: KsonnetParameter is a ksonnet component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize specific options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations adds additional kustomize commonAnnotations
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels adds additional kustomize commonLabels
type: object
images:
description: Images are kustomize image overrides
items:
type: string
type: array
namePrefix:
description: NamePrefix is a prefix appended to resources for kustomize apps
type: string
nameSuffix:
description: NameSuffix is a suffix appended to resources for kustomize apps
type: string
version:
description: Version contains optional Kustomize version
type: string
type: object
path:
description: Path is a directory path within the Git repository
type: string
plugin:
description: ConfigManagementPlugin holds config management plugin specific options
properties:
env:
items:
properties:
name:
description: the name, usually uppercase
type: string
value:
description: the value
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the repository URL of the application manifests
type: string
targetRevision:
description: TargetRevision defines the commit, tag, or branch in which to sync the application to. If omitted, will sync to HEAD
type: string
required:
- repoURL
type: object
syncOptions:
description: SyncOptions provide per-sync sync-options, e.g. Validate=false
items:
type: string
type: array
syncStrategy:
description: SyncStrategy describes how to perform the sync
properties:
apply:
description: Apply will perform a `kubectl apply` to perform the sync.
properties:
force:
description: Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times.
type: boolean
type: object
hook:
description: Hook will submit any referenced resources to perform the sync. This is the default strategy
properties:
force:
description: Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times.
type: boolean
type: object
type: object
type: object
type: object
spec:
description: ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision.
properties:
destination:
description: Destination overrides the kubernetes server and namespace defined in the environment ksonnet app.yaml
properties:
name:
description: Name of the destination cluster which can be used instead of server (url) field
type: string
namespace:
description: Namespace overrides the environment namespace value in the ksonnet app.yaml
type: string
server:
description: Server overrides the environment server value in the ksonnet app.yaml
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences controls resources fields which should be ignored during comparison
items:
description: ResourceIgnoreDifferences contains resource filter and list of json paths which should be ignored during comparison with live state.
properties:
group:
type: string
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- jsonPointers
- kind
type: object
type: array
info:
description: Infos contains a list of useful information (URLs, email addresses, and plain text) that relates to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a application project name. Empty name means that application belongs to 'default' project.
type: string
revisionHistoryLimit:
description: This limits this number of items kept in the apps revision history. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10.
format: int64
type: integer
source:
description: Source is a reference to the location ksonnet application definition
properties:
chart:
description: Chart is a Helm chart name
type: string
directory:
description: Directory holds path/directory specific options
properties:
exclude:
type: string
jsonnet:
description: ApplicationSourceJsonnet holds jsonnet specific options
properties:
extVars:
description: ExtVars is a list of Jsonnet External Variables
items:
description: JsonnetVar is a jsonnet variable
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet Top-level Arguments
items:
description: JsonnetVar is a jsonnet variable
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters to the helm template
items:
description: HelmFileParameter is a file parameter to a helm template
properties:
name:
description: Name is the name of the helm parameter
type: string
path:
description: Path is the path value for the helm parameter
type: string
type: object
type: array
parameters:
description: Parameters are parameters to the helm template
items:
description: HelmParameter is a parameter to a helm template
properties:
forceString

最低0.47元/天 解锁文章
399

被折叠的 条评论
为什么被折叠?



