Include namespace in manifests (#50)

pull/54/head portainer-1.0.10
David Young 2021-02-09 11:21:36 +13:00 committed by GitHub
parent b2e9d8757e
commit aebd5bb518
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 75 additions and 52 deletions

View File

@ -16,7 +16,7 @@
# 3. Remove references to helm in rendered manifests (no point attaching a label like "app.kubernetes.io/managed-by: Helm" if we are not!)
# Create nodeport manifest for ce
helm install --no-hooks --namespace zorgburger --set service.type=NodePort --set disableTest=true --dry-run zorgburger charts/portainer \
helm install --no-hooks --namespace zorgburger --set service.type=NodePort --set disableTest=true --set createNamespace=true --dry-run zorgburger charts/portainer \
| sed -n '1,/NOTES/p' | sed \$d \
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
| grep -iv helm \
@ -26,7 +26,7 @@ helm install --no-hooks --namespace zorgburger --set service.type=NodePort --set
# Create lb manifest for ce
helm install --no-hooks --namespace zorgburger --set service.type=LoadBalancer --set disableTest=true --dry-run zorgburger charts/portainer \
helm install --no-hooks --namespace zorgburger --set service.type=LoadBalancer --set disableTest=true --set createNamespace=true --dry-run zorgburger charts/portainer \
| sed -n '1,/NOTES/p' | sed \$d \
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
| grep -iv helm \
@ -35,7 +35,7 @@ helm install --no-hooks --namespace zorgburger --set service.type=LoadBalancer -
> deploy/manifests/portainer/portainer-lb.yaml
# Create nodeport manifest for ee
helm install --no-hooks --namespace zorgburger --set enterpriseEdition.enabled=true --set service.type=NodePort --set disableTest=true --dry-run zorgburger charts/portainer \
helm install --no-hooks --namespace zorgburger --set enterpriseEdition.enabled=true --set service.type=NodePort --set disableTest=true --set createNamespace=true --dry-run zorgburger charts/portainer \
| sed -n '1,/NOTES/p' | sed \$d \
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
| grep -iv helm \
@ -44,7 +44,7 @@ helm install --no-hooks --namespace zorgburger --set enterpriseEdition.enabled=t
> deploy/manifests/portainer/portainer-ee.yaml
# Create lb manifest for ee
helm install --no-hooks --namespace zorgburger --set enterpriseEdition.enabled=true --set service.type=LoadBalancer --set disableTest=true --dry-run zorgburger charts/portainer \
helm install --no-hooks --namespace zorgburger --set enterpriseEdition.enabled=true --set service.type=LoadBalancer --set disableTest=true --set createNamespace=true --dry-run zorgburger charts/portainer \
| sed -n '1,/NOTES/p' | sed \$d \
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
| grep -iv helm \

View File

@ -24,6 +24,8 @@ This repo contains helm and YAML for deploying Portainer into a Kubernetes envir
# Deploying with Helm
Ensure you're using at least helm v3.2, which [includes support](https://github.com/helm/helm/pull/7648) for the `--create-namespace` argument.
Install the repository:
```
@ -31,12 +33,6 @@ helm repo add portainer https://portainer.github.io/k8s/
helm repo update
```
Create the portainer namespace:
```
kubectl create namespace portainer
```
## Community Edition
Install the helm chart:
@ -44,20 +40,22 @@ Install the helm chart:
### Using NodePort on a local/remote cluster
```
helm install -n portainer portainer portainer/portainer
helm install --create-namespace -n portainer portainer portainer/portainer
```
### Using a cloud provider's loadbalancer
```
helm install -n portainer portainer portainer/portainer --set service.type=LoadBalancer
helm install --create-namespace -n portainer portainer portainer/portainer \
--set service.type=LoadBalancer
```
### Using ClusterIP with an ingress
```
helm install -n portainer portainer portainer/portainer --set service.type=ClusterIP
helm install --create-namespace -n portainer portainer portainer/portainer \
--set service.type=ClusterIP
```
For advanced helm customization, see the [chart README](/charts/portainer/README.md)
@ -67,48 +65,45 @@ For advanced helm customization, see the [chart README](/charts/portainer/README
### Using NodePort on a local/remote cluster
```
helm install --set enterpriseEdition.enabled=true -n portainer portainer portainer/portainer
helm install --create-namespace -n portainer portainer portainer/portainer \
--set enterpriseEdition.enabled=true
```
### Using a cloud provider's loadbalancer
```
helm install --set enterpriseEdition.enabled=true -n portainer portainer portainer/portainer --set service.type=LoadBalancer
helm install --create-namespace -n portainer portainer portainer/portainer \
--set enterpriseEdition.enabled=true \
--set service.type=LoadBalancer
```
### Using ClusterIP with an ingress
```
helm install --set enterpriseEdition.enabled=true -n portainer portainer portainer/portainer --set service.type=ClusterIP
helm install --create-namespace -n portainer portainer portainer/portainer \
--set enterpriseEdition.enabled=true \
--set service.type=ClusterIP
```
For advanced helm customization, see the [chart README](/charts/portainer/README.md)
# Deploying with manifests
If you're not into helm, you can install Portainer using manifests, by first creating the portainer namespace:
```
kubectl create namespace portainer
```
And then...
If you're not using helm, you can install Portainer using manifests directly, as follows
## Community Edition
### Using NodePort on a local/remote cluster
```
kubectl create namespace portainer
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
kubectl apply -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
```
### Using a cloud provider's loadbalancer
```
kubectl create namespace portainer
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-lb.yaml
kubectl apply -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-lb.yaml
```
## Enterprise Edition
@ -116,15 +111,13 @@ kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/ma
### Using NodePort on a local/remote cluster
```
kubectl create namespace portainer
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-ee.yaml
kubectl apply- f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-ee.yaml
```
### Using a cloud provider's loadbalancer
```
kubectl create namespace portainer
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-lb-ee.yaml
kubectl apply -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-lb-ee.yaml
```
# Note re persisting data

View File

@ -16,7 +16,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 1.0.9
version: 1.0.10
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.

View File

@ -0,0 +1,6 @@
{{ if .Values.createNamespace }}
apiVersion: v1
kind: Namespace
metadata:
name: portainer
{{ end }}

View File

@ -1,4 +1,10 @@
---
# Source: portainer/templates/namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: portainer
---
# Source: portainer/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
@ -8,7 +14,7 @@ metadata:
labels:
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
---
# Source: portainer/templates/pvc.yaml
kind: "PersistentVolumeClaim"
@ -22,7 +28,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
accessModes:
- "ReadWriteOnce"
@ -38,7 +44,7 @@ metadata:
labels:
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@ -58,7 +64,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
type: NodePort
ports:
@ -86,7 +92,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
replicas: 1
strategy:

View File

@ -1,4 +1,10 @@
---
# Source: portainer/templates/namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: portainer
---
# Source: portainer/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
@ -8,7 +14,7 @@ metadata:
labels:
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
---
# Source: portainer/templates/pvc.yaml
kind: "PersistentVolumeClaim"
@ -22,7 +28,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
accessModes:
- "ReadWriteOnce"
@ -38,7 +44,7 @@ metadata:
labels:
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@ -58,7 +64,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
type: LoadBalancer
ports:
@ -84,7 +90,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
replicas: 1
strategy:

View File

@ -1,4 +1,10 @@
---
# Source: portainer/templates/namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: portainer
---
# Source: portainer/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
@ -8,7 +14,7 @@ metadata:
labels:
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
---
# Source: portainer/templates/pvc.yaml
kind: "PersistentVolumeClaim"
@ -22,7 +28,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
accessModes:
- "ReadWriteOnce"
@ -38,7 +44,7 @@ metadata:
labels:
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@ -58,7 +64,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
type: LoadBalancer
ports:
@ -84,7 +90,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
replicas: 1
strategy:

View File

@ -1,4 +1,10 @@
---
# Source: portainer/templates/namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: portainer
---
# Source: portainer/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
@ -8,7 +14,7 @@ metadata:
labels:
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
---
# Source: portainer/templates/pvc.yaml
kind: "PersistentVolumeClaim"
@ -22,7 +28,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
accessModes:
- "ReadWriteOnce"
@ -38,7 +44,7 @@ metadata:
labels:
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@ -58,7 +64,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
type: NodePort
ports:
@ -86,7 +92,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1"
app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec:
replicas: 1
strategy: