• This repository has been archived on 01/Sep/2020
  • Stars
    star
    111
  • Rank 303,161 (Top 7 %)
  • Language
    Shell
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Deploy Portainer inside k8s

Important notice

This repository has been archived.

Portainer 2.0 includes support for Kubernetes, head to https://www.portainer.io/installation/ for more details about how to install it.

Portainer on Kubernetes BETA

This repository contains all the manifests you can use to deploy the Portainer for Kubernetes BETA version.

For any feedback regarding the BETA version, please head to the portainer for Kubernetes BETA repository.

These manifests have been tested on:

  • Azure AKS
  • Digital Ocean
  • minikube
  • kind

Have any feedback on the deployment of Portainer inside Kubernetes? Please head to the deployment feedback topic.

Supported platforms:

  • Linux amd64
  • Linux arm

Usage

Notice

These deployment manifests will deploy Portainer inside the portainer namespace. Portainer uses this namespace to store system information, as such this namespace must not be changed.

Deploy Portainer inside your cluster and access it via an external load balancer

If your cloud provider supports external load balancers, you can use the following commands to deploy Portainer:

curl -LO https://raw.githubusercontent.com/portainer/portainer-k8s/master/portainer.yaml
kubectl apply -f portainer.yaml

This will deploy the Portainer application and create an external load balancer which you'll be able to use to access Portainer on port 9000.

Deploy Portainer inside your cluster and access it via node port

If you prefer to access Portainer via a specific port on a node of your cluster, use the following commands:

curl -LO https://raw.githubusercontent.com/portainer/portainer-k8s/master/portainer-nodeport.yaml
kubectl apply -f portainer-nodeport.yaml

This will expose Portainer on the port 30777 inside your cluster (30776 for Edge tunnel server). You can change these ports inside the manifest if you wish.

Deploy Portainer using Helm Chart

Run the following commands to install Portainer via helm:

kubectl create namespace portainer
helm repo add portainer http://portainer.github.io/portainer-k8s
helm upgrade --atomic -i portainer portainer/portainer-beta --version 1.0.0 -n portainer

Note: this deployment defaults to exposing Portainer over an external load balancer, have a look at the chart configuration in the charts/portainer-beta folder for more information on how to configure the helm deployment.

Update to a new version of the beta

In order to update to the latest version of the beta, you'll need to delete the portainer namespace and redeploy it.

kubectl delete namespace/portainer
kubectl apply -f portainer.yaml // or kubectl apply -f portainer-nodeport.yaml based on your initial deployment

Manage a remote Kubernetes cluster

In order to manage a remote Kubernetes cluster, you'll need a Portainer for Kubernetes BETA instance already deployed inside a Kubernetes cluster and connect it to a Portainer agent running inside the remote cluster.

Deploy the Portainer agent and access it via an external load balancer

If your cloud provider supports external load balancers, you can use the following command to deploy the regular Portainer agent (not Edge):

curl -LO https://raw.githubusercontent.com/portainer/portainer-k8s/master/agent/portainer-agent.yaml
kubectl apply -f agent/portainer-agent.yaml

This will deploy the Portainer agent and create an external load balancer which you'll be able to use to connect to the agent on port 9001.

Edge agent

If you wish to deploy the Edge agent inside your Kubernetes cluster, it is recommended to follow the instructions available inside your Portainer instance.

ARM platform

If you wish to deploy Portainer or the agent inside a Kubernetes cluster running on arm, please use the tag linux-arm instead of linux-amd64.

More Repositories

1

portainer

Making Docker and Kubernetes management easy.
TypeScript
28,757
star
2

portainer-compose

Compose setup for Portainer
605
star
3

templates

App Templates used by Portainer
Makefile
305
star
4

agent

The Portainer agent
Go
272
star
5

portainer-docs

Portainer documentation
241
star
6

helper-reset-password

A container helper used to reset the administrator password of a Portainer instance
Go
105
star
7

k8s

How to deploy Portainer inside a Kubernetes environment.
Shell
80
star
8

k2d

Kubernetes to Docker translator
Go
74
star
9

docker-images

Images provided by Portainer.io
Dockerfile
27
star
10

awesome-portainer

A curated list of Portainer resources, tutorials, videos
18
star
11

kubernetes-beta

Feedback for the BETA version of Portainer with Kubernetes support
18
star
12

portainer-updater

A tool used to automatically update Portainer software
Go
10
star
13

dev-toolkit

All you need to develop the Portainer software
Dockerfile
9
star
14

docker-manifest

Manifests list for a multi-arch Docker image
9
star
15

libhttp

HTTP library providing useful methods when working with net/http and gorilla/mux
Go
6
star
16

docker-compose-wrapper

Go
6
star
17

dev-tools

Portainer developer tools
Shell
6
star
18

helper-templates

A container helper used to operate on a Portainer template file
Go
5
star
19

roadmap

This is the public roadmap for Portainer CE and Portainer Business
4
star
20

authenticator

Docker CLI helper to authenticate against Portainer
Go
4
star
21

compose-unpacker

A tool used to deploy Compose stacks from Git on remote environments
Go
4
star
22

libhelm

A helm wrapper for portainer
Go
3
star
23

examples

Artefacts for Portainer related examples
2
star
24

katacoda-labs

Scenarios for Portainer @ Katacoda
Shell
2
star
25

libcrypto

Crypto library
Go
2
star
26

docker-extension

Portainer extension for Docker Desktop
Makefile
2
star
27

agent-public

Agent release notes
2
star
28

kubernetes-roadmap

Roadmap for Kubernetes support inside Portainer
1
star
29

portainer-charm

Portainer Juju Charm for Charmed Kubernetes https://ubuntu.com/kubernetes/
Python
1
star
30

agent-checklist

Make sure your environment is properly setup to deploy Portainer+Agent
Shell
1
star
31

k2d.io

The official website of k2d.io!
JavaScript
1
star
32

test-public-repo

HTML
1
star
33

docker-compose-linux-amd64-static-binary

Build docker-compose statically for linux amd64
Dockerfile
1
star
34

portainer-agent-charm

Python
1
star
35

platform

Smarty
1
star