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!) # 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 # 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 \ | sed -n '1,/NOTES/p' | sed \$d \
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \ | grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
| grep -iv helm \ | grep -iv helm \
@ -26,7 +26,7 @@ helm install --no-hooks --namespace zorgburger --set service.type=NodePort --set
# Create lb manifest for ce # 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 \ | sed -n '1,/NOTES/p' | sed \$d \
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \ | grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
| grep -iv helm \ | grep -iv helm \
@ -35,7 +35,7 @@ helm install --no-hooks --namespace zorgburger --set service.type=LoadBalancer -
> deploy/manifests/portainer/portainer-lb.yaml > deploy/manifests/portainer/portainer-lb.yaml
# Create nodeport manifest for ee # 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 \ | sed -n '1,/NOTES/p' | sed \$d \
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \ | grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
| grep -iv helm \ | grep -iv helm \
@ -44,7 +44,7 @@ helm install --no-hooks --namespace zorgburger --set enterpriseEdition.enabled=t
> deploy/manifests/portainer/portainer-ee.yaml > deploy/manifests/portainer/portainer-ee.yaml
# Create lb manifest for ee # 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 \ | sed -n '1,/NOTES/p' | sed \$d \
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \ | grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
| grep -iv helm \ | 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 # 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: Install the repository:
``` ```
@ -31,12 +33,6 @@ helm repo add portainer https://portainer.github.io/k8s/
helm repo update helm repo update
``` ```
Create the portainer namespace:
```
kubectl create namespace portainer
```
## Community Edition ## Community Edition
Install the helm chart: Install the helm chart:
@ -44,20 +40,22 @@ Install the helm chart:
### Using NodePort on a local/remote cluster ### 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 ### 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 ### 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) 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 ### 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 ### 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 ### 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) For advanced helm customization, see the [chart README](/charts/portainer/README.md)
# Deploying with manifests # Deploying with manifests
If you're not into helm, you can install Portainer using manifests, by first creating the portainer namespace: If you're not using helm, you can install Portainer using manifests directly, as follows
```
kubectl create namespace portainer
```
And then...
## Community Edition ## Community Edition
### Using NodePort on a local/remote cluster ### Using NodePort on a local/remote cluster
``` ```
kubectl create namespace portainer kubectl apply -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
``` ```
### Using a cloud provider's loadbalancer ### Using a cloud provider's loadbalancer
``` ```
kubectl create namespace portainer kubectl apply -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-lb.yaml
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-lb.yaml
``` ```
## Enterprise Edition ## 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 ### Using NodePort on a local/remote cluster
``` ```
kubectl create namespace portainer kubectl apply- f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-ee.yaml
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-ee.yaml
``` ```
### Using a cloud provider's loadbalancer ### Using a cloud provider's loadbalancer
``` ```
kubectl create namespace portainer kubectl apply -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-lb-ee.yaml
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer-lb-ee.yaml
``` ```
# Note re persisting data # 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 # 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. # 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 # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. # 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 # Source: portainer/templates/serviceaccount.yaml
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
@ -8,7 +14,7 @@ metadata:
labels: labels:
app.kubernetes.io/name: portainer app.kubernetes.io/name: portainer
app.kubernetes.io/instance: 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 # Source: portainer/templates/pvc.yaml
kind: "PersistentVolumeClaim" kind: "PersistentVolumeClaim"
@ -22,7 +28,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1" app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec: spec:
accessModes: accessModes:
- "ReadWriteOnce" - "ReadWriteOnce"
@ -38,7 +44,7 @@ metadata:
labels: labels:
app.kubernetes.io/name: portainer app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1" app.kubernetes.io/version: "ce-latest-ee-2.0.0"
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
@ -58,7 +64,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1" app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec: spec:
type: NodePort type: NodePort
ports: ports:
@ -86,7 +92,7 @@ metadata:
io.portainer.kubernetes.application.stack: portainer io.portainer.kubernetes.application.stack: portainer
app.kubernetes.io/name: portainer app.kubernetes.io/name: portainer
app.kubernetes.io/instance: portainer app.kubernetes.io/instance: portainer
app.kubernetes.io/version: "2.0.1" app.kubernetes.io/version: "ce-latest-ee-2.0.0"
spec: spec:
replicas: 1 replicas: 1
strategy: strategy:

View File

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

View File

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

View File

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