Skip to content

Commit

Permalink
chore: Remove namespaced crds (argoproj#2516)
Browse files Browse the repository at this point in the history
* chore: Remove CRDs from namespaced installation

Signed-off-by: Manolis Sfendourakis <[email protected]>

* docs: Add README for manifests

Signed-off-by: Manolis Sfendourakis <[email protected]>

* docs: Update installation methods

Signed-off-by: Manolis Sfendourakis <[email protected]>

Signed-off-by: Manolis Sfendourakis <[email protected]>
  • Loading branch information
sfenman authored and kimfiedler committed Jan 16, 2023
1 parent e54e7cc commit f219a15
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 14,503 deletions.
24 changes: 19 additions & 5 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## Controller Installation

Two types of installation:

* [install.yaml](https://github.com/argoproj/argo-rollouts/blob/master/manifests/install.yaml) - Standard installation method.
```bash
kubectl create namespace argo-rollouts
kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml
Expand All @@ -10,25 +13,36 @@ kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/rele
This will create a new namespace, `argo-rollouts`, where Argo Rollouts controller will run.

!!! tip
If you are using another namspace name, please update `install.yaml` clusterrolebinding's serviceaccount namespace name.
If you are using another namespace name, please update `install.yaml` clusterrolebinding's serviceaccount namespace name.

!!! tip
When installing Argo Rollouts on Kubernetes v1.14 or lower, the CRD manifests must be kubectl applied with the --validate=false option. This is caused by use of new CRD fields introduced in v1.15, which are rejected by default in lower API servers.


!!! tip
!!! tip
On GKE, you will need grant your account the ability to create new cluster roles:

```shell
kubectl create clusterrolebinding YOURNAME-cluster-admin-binding --clusterrole=cluster-admin [email protected]
```

* [namespace-install.yaml](https://github.com/argoproj/argo-rollouts/blob/master/manifests/namespace-install.yaml) - Installation of Argo Rollouts which requires
only namespace level privileges. An example usage of this installation method would be to run several Argo Rollouts controller instances in different namespaces
on the same cluster.

> Note: Argo Rollouts CRDs are not included into [namespace-install.yaml](https://github.com/argoproj/argo-rollouts/blob/master/manifests/namespace-install.yaml).
> and have to be installed separately. The CRD manifests are located in [manifests/crds](https://github.com/argoproj/argo-rollouts/blob/master/manifests/crds) directory.
> Use the following command to install them:
> ```bash
> kubectl apply -k https://github.com/argoproj/argo-rollouts/manifests/crds\?ref\=stable
> ```
You can find released container images of the controller at [Quay.io](https://quay.io/repository/argoproj/argo-rollouts?tab=tags). There are also old releases
at Dockerhub, but since the introduction of rate limiting, the Argo project has moved to Quay.
## Kubectl Plugin Installation
The kubectl plugin is optional, but is convenient for managing and visualizing rollouts from the
The kubectl plugin is optional, but is convenient for managing and visualizing rollouts from the
command line.
### Brew
Expand All @@ -44,7 +58,7 @@ brew install argoproj/tap/kubectl-argo-rollouts
curl -LO https://github.com/argoproj/argo-rollouts/releases/latest/download/kubectl-argo-rollouts-darwin-amd64
```

!!! tip ""
!!! tip ""
For Linux dist, replace `darwin` with `linux`

1. Make the kubectl-argo-rollouts binary executable.
Expand Down Expand Up @@ -106,7 +120,7 @@ To upgrade Argo Rollouts:
2. Delete the previous version of the controller and apply/install the new one
3. When a new Rollout takes place the new controller will be activated.
If deployments are happening while you upgrade the controller, then you shouldn't
If deployments are happening while you upgrade the controller, then you shouldn't
have any downtime. Current Rollouts will be paused and as soon as the new controller becomes
active it will resume all in-flight deployments.

13 changes: 13 additions & 0 deletions manifests/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Argo Rollouts Installation Manifests

* [install.yaml](install.yaml) - Standard installation method. This will create a new namespace, `argo-rollouts`,
where Argo Rollouts controller will run.

* [namespace-install.yaml](namespace-install.yaml) - Installation which requires only namespace level privileges.

> Note: Argo Rollouts CRDs are not included into [namespace-install.yaml](namespace-install.yaml).
> and have to be installed separately. The CRD manifests are located in [manifests/crds](./crds) directory.
> Use the following command to install them:
> ```bash
> kubectl apply -k https://github.com/argoproj/argo-rollouts/manifests/crds\?ref\=stable
> ```
Loading

0 comments on commit f219a15

Please sign in to comment.