2021-10-09 14:39:29 +07:00
|
|
|
# Installation Guide for Kubernetes Cluster
|
|
|
|
|
|
|
|
### 1. Download kubectl
|
|
|
|
```shell
|
|
|
|
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
|
|
|
```
|
|
|
|
### 2. Validate kubectl
|
|
|
|
```shell
|
|
|
|
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
|
|
|
|
echo "$(<kubectl.sha256) kubectl" | sha256sum --check
|
|
|
|
```
|
|
|
|
|
|
|
|
### 3. Install kubectl
|
|
|
|
```shell
|
|
|
|
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
|
|
|
```
|
|
|
|
|
|
|
|
##### If none-root access (for local user)
|
|
|
|
```shell
|
|
|
|
chmod +x kubectl
|
|
|
|
mkdir -p ~/.local/bin/kubectl
|
|
|
|
mv ./kubectl ~/.local/bin/kubectl
|
|
|
|
# and then add ~/.local/bin/kubectl to $PATH
|
|
|
|
```
|
|
|
|
|
|
|
|
### 4. Verify kubectl installed
|
|
|
|
```shell
|
|
|
|
kubectl version --client
|
|
|
|
```
|
2021-10-09 14:48:19 +07:00
|
|
|
|
|
|
|
# Install Helm 3
|
|
|
|
```shell
|
|
|
|
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
|
|
|
```
|
2021-10-09 15:06:35 +07:00
|
|
|
|
|
|
|
# Setup network
|
|
|
|
```shell
|
|
|
|
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
|
|
|
|
br_netfilter
|
|
|
|
EOF
|
|
|
|
|
|
|
|
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
|
|
|
|
net.bridge.bridge-nf-call-ip6tables = 1
|
|
|
|
net.bridge.bridge-nf-call-iptables = 1
|
|
|
|
EOF
|
|
|
|
|
|
|
|
sudo sysctl --system
|
|
|
|
```
|
2021-10-09 15:13:25 +07:00
|
|
|
|
|
|
|
# Install CNI plugins (required for most pod network)
|
|
|
|
```shell
|
|
|
|
CNI_VERSION="v0.8.2"
|
|
|
|
ARCH="amd64"
|
|
|
|
sudo mkdir -p /opt/cni/bin
|
|
|
|
curl -L "https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz" | sudo tar -C /opt/cni/bin -xz
|
|
|
|
```
|