Portainer 2.0
Portainer is very popular among the docker community for its container management and guess what! now Portainer has extended this management to Kubernetes.
Yes, It's True, Portainer 2.0 is coming and it's huge, as it now comes with KUBERNETES Management. In this post, I will walk through portainer 2.0 and some of its features.
We will cover below scenarios:
- Installing Portainer on Managed k3s by Civo Cloud
- Installing Portainer Agent on GKE
Installing Portainer on Managed k3s
- Create a civo k3s cluster
- Download the Kubeconfig file
- Install Portainer directly on the cluster
curl -LO https://raw.githubusercontent.com/portainer/portainer-k8s/master/portainer-nodeport.yamlkubectl apply -f portainer-nodeport.yaml
namespace/portainer created
serviceaccount/portainer-sa-clusteradmin created
clusterrolebinding.rbac.authorization.k8s.io/portainer-crb-clusteradmin created
service/portainer created
deployment.apps/portainer createdkubectl get svc -n portainer
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
portainer NodePort 192.168.159.221 <none> 9000:30777/TCP,8000:30776/TCP 13s
- Open Portainer UI: <NodeIp>:<Nodeport>(http://91.211.152.180:30777 in this case)
The Managed k3s cluster gets imported
Installing Portainer-agent on GKE:
Create a simple plain default GKE cluster
Connect to the cloud shell in order to Run Portainer Agent
Install Portainer Agent Load Balancer:
gcloud container clusters get-credentials portainer --zone us-central1-c --project playground-s-11-14726b37
Fetching cluster endpoint and auth data.
kubeconfig entry generated for portainer.curl -L https://downloads.portainer.io/portainer-agent-k8s-lb.yaml -o portainer-agent-k8s.yaml; kubectl apply -
f portainer-agent-k8s.yaml
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1599 100 1599 0 0 1169 0 0:00:01 0:00:01 --:--:-- 1169namespace/portainer created
serviceaccount/portainer-sa-clusteradmin created
clusterrolebinding.rbac.authorization.k8s.io/portainer-crb-clusteradmin created
service/portainer-agent created
service/portainer-agent-headless created
deployment.apps/portainer-agent createdkubectl get svc -n portainer
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
portainer-agent LoadBalancer 10.28.7.233 35.238.43.218 9001:31739/TCP 84s
portainer-agent-headless ClusterIP None <none> <none> 82s
Create an Endpoint for GKE in the Portainer UI and enter the Endpoint URL as the <Load Balancer IP of Portainer-agent>:9000
With these little steps, you can run multiple agents on Different Kubernetes clusters and manage them(in the above example we were able to install server on Civo cloud and even connect GKE cluster). When I say manage them you can assign them to groups and create users for that. You can deploy the workloads from the Portianer UI
Creating team, users, Groups :
With Portainer you can put clusters(endpoints) in different groups and assign user and team access. So create a team, create a user, create a new group, and team/user to that group, and then add cluster/endpoint to the new group. This way different users can assess different sets of clusters base on the need.
Creating Team:
Creating User:
Creating Group:
In the endpoints section, create a new group.
Now once you have cluster added to a group, you can manage access as well as below:
Finally, Let us deploy a sample application to Civo cluster from Portainer.
Very easily you can define Image, Memory, CPU, NodePort and most of the customization and you can edit it on the fly from the UI.
So with Portainer 2.0 you can import and manage multiple clusters and have them added to different groups as per the requirement of the teams or environments. Management is simple and so is the import cluster. Portainer with rich experience in Docker management now has a great release for Kubernetes management as well.
ENJOY PORTAINERING !!