Install PorterLB on Kubernetes
This document describes how to use kubectl and Helm to install and delete PorterLB in a Kubernetes cluster.
NOTE
- In a Kubernetes cluster, you only need to install PorterLB once. After the installation is complete, a porter-manager Deployment that contains a porter-manager Pod is installed in the cluster. The porter-manager Pod implements the functionality of PorterLB for the entire Kubernetes cluster.
- After the installation is complete, you can scale the porter-manager Deployment and assign multiple PorterLB replicas (porter-manager Pods) to multiple cluster nodes to ensure high availability. For details, see Configure Multiple PorterLB Replicas.
Prerequisites
You need to prepare a Kubernetes cluster, and ensure that the Kubernetes version is 1.15 or later. PorterLB requires CustomResourceDefinition (CRD) v1, which is only supported by Kubernetes 1.15 or later. You can use the following methods to deploy a Kubernetes cluster:
- Use KubeKey (recommended). You can use KubeKey to deploy a Kubernetes cluster with or without KubeSphere.
- Follow official Kubernetes guides.
PorterLB is designed to be used in bare-metal Kubernetes environments. However, you can also use a cloud-based Kubernetes cluster for learning and testing.
If you use Helm to install porter, ensure that the Helm version is Helm 3.
Install PorterLB Using kubectl
Log in to the Kubernetes cluster over SSH and run the following command:
kubectl apply -f https://raw.githubusercontent.com/kubesphere/porter/master/deploy/porter.yaml
Run the following command to check whether the status of porter-manager is READY: 1/1 and STATUS: Running. If yes, PorterLB has been installed successfully.
kubectl get po -n porter-system
Delete PorterLB Using kubectl
To delete PorterLB, log in to the Kubernetes cluster and run the following command:
kubectl delete -f https://raw.githubusercontent.com/kubesphere/porter/master/deploy/porter.yaml
NOTE
Before deleting PorterLB, you must first delete all Services that use PorterLB.
Run the following command to check the result. If the porter-system namespace does not exist, PorterLB has been deleted successfully.
kubectl get ns
Install PorterLB Using Helm
Log in to the Kubernetes cluster over SSH and run the following commands:
helm repo add test https://charts.kubesphere.io/test
helm repo update
helm install porter test/porter
Run the following command to check whether the status of porter-manager is READY: 1/1 and STATUS: Running. If yes, PorterLB has been installed successfully.
kubectl get po -A
Delete PorterLB Using Helm
To delete PorterLB, run the following command:
helm delete porter
NOTE
Before deleting PorterLB, you must first delete all Services that use PorterLB.
Run the following command to check the result. If the PorterLB application does not exist, PorterLB has been deleted successfully.
helm ls
Last modified March 31, 2021: Relocated files to adapt to localization and changed links. (6b5fcb1)