Skip to content

Latest commit

 

History

History
183 lines (135 loc) · 8 KB

Kubernetes.md

File metadata and controls

183 lines (135 loc) · 8 KB

Kubernetes

Concept

  • Nodes
  • Pods

Variation

Kubeadm

Kubeadm is a tool built to provide kubeadm init and kubeadm join as best-practice "fast paths" for creating Kubernetes clusters.

MicroK8s

Based on snap

sudo snap info microk8s
sudo snap install microk8s --classic

sudo usermod -a -G microk8s $USER
newgrp microk8s

# Check installation
microk8s kubectl get nodes
microk8s status

Dashboard

microk8s enable dashboard

chrome://flags/#allow-insecure-localhost chrome://flags/#block-insecure-private-network-requests

token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token
microk8s kubectl port-forward -n kube-system --address 0.0.0.0 service/kubernetes-dashboard 10443:443

microk8s dashboard-proxy

MicroK8s in GFW

microk8s is not running. microk8s.inspect showing no error · Issue #886 · canonical/microk8s (github.com)

Some default Kubernetes Add-ons might not successfully pulled.

Pulled from mirror and re-tag them.

This old version has microk8s.docker, while new version use system docker. Which the "mirror clone" trick might not work.

# No microk8s.add-node command
# sudo snap install microk8s --classic --channel=1.12/stable
# No microk8s.docker command => use microk8s.ctr image import instead
sudo snap install microk8s --classic --channel=1.18/stable
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/heapster-influxdb-amd64:v1.3.3
docker pull mirrorgooglecontainers/heapster-grafana-amd64:v4.4.3
docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.8.3
docker pull mirrorgooglecontainers/heapster-amd64:v1.5.2
docker pull mirrorgooglecontainers/k8s-dns-dnsmasq-nanny-amd64:1.14.7
docker pull mirrorgooglecontainers/k8s-dns-kube-dns-amd64:1.14.7
docker pull mirrorgooglecontainers/k8s-dns-sidecar-amd64:1.14.7

docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag mirrorgooglecontainers/heapster-influxdb-amd64:v1.3.3 k8s.gcr.io/heapster-influxdb-amd64:v1.3.3
docker tag mirrorgooglecontainers/heapster-grafana-amd64:v4.4.3 k8s.gcr.io/heapster-grafana-amd64:v4.4.3
docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.8.3 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
docker tag mirrorgooglecontainers/heapster-amd64:v1.5.2 k8s.gcr.io/heapster-amd64:v1.5.2
docker tag mirrorgooglecontainers/k8s-dns-dnsmasq-nanny-amd64:1.14.7 gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7
docker tag mirrorgooglecontainers/k8s-dns-kube-dns-amd64:1.14.7 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7
docker tag mirrorgooglecontainers/k8s-dns-sidecar-amd64:1.14.7 gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7

docker save k8s.gcr.io/pause > pause.tar
docker save k8s.gcr.io/heapster-influxdb-amd64 > heapster-influxdb-amd64.tar
docker save k8s.gcr.io/heapster-grafana-amd64 > heapster-grafana-amd64.tar
docker save k8s.gcr.io/kubernetes-dashboard-amd64 > kubernetes-dashboard-amd64.tar
docker save k8s.gcr.io/heapster-amd64 > heapster-amd64.tar
docker save gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64 > k8s-dns-dnsmasq-nanny-amd64.tar
docker save gcr.io/google_containers/k8s-dns-kube-dns-amd64 > k8s-dns-kube-dns-amd64.tar
docker save gcr.io/google_containers/k8s-dns-sidecar-amd64 > k8s-dns-sidecar-amd64.tar

for file in $(ls *.tar); do
    microk8s ctr --namespace k8s.io image import $file
done
$SPARK_HOME/bin/docker-image-tool.sh \
  -t v3.2.1 \
  -p $SPARK_HOME/resource-managers/kubernetes/docker/src/main/dockerfiles/spark/bindings/python/Dockerfile \
  build

MicroK8s Addon

Minikube

# -m is for minikube
$SPARK_HOME/bin/docker-image-tool.sh \
  -m \
  -t v3.2.1 \
  -p $SPARK_HOME/resource-managers/kubernetes/docker/src/main/dockerfiles/spark/bindings/python/Dockerfile \
  build

K3s

Helm

Kubernetes + Spark

Links


Raspberry Pi