comparison
This commit is contained in:
parent
e61ec35755
commit
07c29826ad
@ -1,29 +1,71 @@
|
||||
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 ???)
|
||||
Hello, Adolfo from Portainer here
|
||||
|
||||
- Kubernetes
|
||||
- Docker Swarm
|
||||
We have prepared a set of comparison videos of Portainer vs 4 different Kubernetes management tools:
|
||||
|
||||
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.
|
||||
Kubernetes Dashboard
|
||||
Lens
|
||||
CrossPlane
|
||||
Rancher UI
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
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.
|
||||
|
||||
In Portainer I used the Applications menu option and deployed redis with ,
|
||||
|
||||
|
||||
bitnami/redis
|
||||
|
||||
|
||||
|
||||
|
||||
apiVersion: v1
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user