Compare commits
No commits in common. "07c29826ada46f69b56e81833cb356cdfa75ea54" and "3f7eb51d72f68714dd01431c2106aa623799bb5f" have entirely different histories.
07c29826ad
...
3f7eb51d72
@ -1,71 +1,29 @@
|
|||||||
Hello, Adolfo from Portainer here
|
Recommended content:
|
||||||
|
From a single server MVP to scale – easy with Portainer
|
||||||
|
We assume you already have you web-app running within a container
|
||||||
|
Select your orchestration (what is best practice, what are reasons, what are limits ???)
|
||||||
|
|
||||||
We have prepared a set of comparison videos of Portainer vs 4 different Kubernetes management tools:
|
- Kubernetes
|
||||||
|
- Docker Swarm
|
||||||
|
|
||||||
Kubernetes Dashboard
|
10-100 server : Docker Swarm
|
||||||
Lens
|
50-200 server: microk8s (easy as docker swarm, but prepare for further growth ???)
|
||||||
CrossPlane
|
100-100.000: kubernetes
|
||||||
Rancher UI
|
Setup infrastructure (swarm or microk8s)
|
||||||
|
Launch servers (virtual or bare metal)
|
||||||
|
Create master
|
||||||
the idea is to basically show the steps required to deploy an application on each of the tools vs Portainer and I am going to use a basic implementation of the redis database.
|
Join further nodes
|
||||||
|
Launch Portainer
|
||||||
|
…
|
||||||
|
Launch reverse proxy via Portainer
|
||||||
Here I start with Portainer vs Kubernetes Dashboard with a redis server deployment. In both cases I use microk8s and the process starts with the search for the proper container image in both cases.
|
The reverse proxy will automatically load balance all incoming requests to the web-app containers
|
||||||
|
The proxy will hot reload when containers change, not interrupt ongoing and long-running requests (?)
|
||||||
In Portainer I used the Applications menu option and deployed redis with ,
|
The proxy can automatically forward to services based on sub-domains and/or paths via labels (?)
|
||||||
|
Launch services (web-app and others)
|
||||||
|
Launch you services with Portainer, set labels for sub-domain and/or path
|
||||||
bitnami/redis
|
Example: www (wordpress), api (nodejs) (?)
|
||||||
|
Database: only one instance per server on dedicated servers
|
||||||
|
Scale up
|
||||||
|
Check metrics
|
||||||
|
Easily scale services up and down, add more servers
|
||||||
apiVersion: v1
|
7. b. Manage credentials, pass them to the web-app so it can connect to the database.
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: example-redis-config
|
|
||||||
data:
|
|
||||||
redis-config: ""
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: redis
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: redis
|
|
||||||
image: redis:5.0.4
|
|
||||||
command:
|
|
||||||
- redis-server
|
|
||||||
- "/redis-master/redis.conf"
|
|
||||||
env:
|
|
||||||
- name: MASTER
|
|
||||||
value: "true"
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: "0.1"
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /redis-master-data
|
|
||||||
name: data
|
|
||||||
- mountPath: /redis-master
|
|
||||||
name: config
|
|
||||||
volumes:
|
|
||||||
- name: data
|
|
||||||
emptyDir: {}
|
|
||||||
- name: config
|
|
||||||
configMap:
|
|
||||||
name: example-redis-config
|
|
||||||
items:
|
|
||||||
- key: redis-config
|
|
||||||
path: redis.conf
|
|
||||||
|
|
||||||
token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
|
|
||||||
microk8s kubectl -n kube-system describe secret $token
|
|
||||||
|
|
||||||
kubectl create clusterrolebinding --user system:serviceaccount:kube-system:default kube-system-cluster-admin --clusterrole cluster-admin
|
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
Recommended content:
|
|
||||||
From a single server MVP to scale – easy with Portainer
|
|
||||||
We assume you already have you web-app running within a container
|
|
||||||
Select your orchestration (what is best practice, what are reasons, what are limits ???)
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Docker Swarm
|
|
||||||
|
|
||||||
10-100 server : Docker Swarm
|
|
||||||
50-200 server: microk8s (easy as docker swarm, but prepare for further growth ???)
|
|
||||||
100-100.000: kubernetes
|
|
||||||
Setup infrastructure (swarm or microk8s)
|
|
||||||
Launch servers (virtual or bare metal)
|
|
||||||
Create master
|
|
||||||
Join further nodes
|
|
||||||
Launch Portainer
|
|
||||||
…
|
|
||||||
Launch reverse proxy via Portainer
|
|
||||||
The reverse proxy will automatically load balance all incoming requests to the web-app containers
|
|
||||||
The proxy will hot reload when containers change, not interrupt ongoing and long-running requests (?)
|
|
||||||
The proxy can automatically forward to services based on sub-domains and/or paths via labels (?)
|
|
||||||
Launch services (web-app and others)
|
|
||||||
Launch you services with Portainer, set labels for sub-domain and/or path
|
|
||||||
Example: www (wordpress), api (nodejs) (?)
|
|
||||||
Database: only one instance per server on dedicated servers
|
|
||||||
Scale up
|
|
||||||
Check metrics
|
|
||||||
Easily scale services up and down, add more servers
|
|
||||||
7. b. Manage credentials, pass them to the web-app so it can connect to the database.
|
|
Loading…
Reference in New Issue
Block a user