Skip to main content

Tutorial Intro

安装 Kubernetes​

Kind​

# For AMD64 / x86_64
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-amd64
# For ARM64
[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-arm64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
kind create cluster

https://kind.sigs.k8s.io/docs/user/quick-start/#interacting-with-your-cluster

kind create cluster --config - <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: control-plane
- role: control-plane
- role: worker
- role: worker
- role: worker
EOF

https://kind.sigs.k8s.io/docs/user/quick-start/#multi-node-clusters

Multipass​

multipass delete k8s-control-plane && multipass purge
multipass launch -c 8 -m 16g -d 64g -n k8s-control-plane --cloud-init cloud-init/k8s-control-plane.yaml -vvvv
multipass shell k8s-control-plane
/var/log/cloud-init.log
/var/log/cloud-init-output.log
omz plugin enable kubectl

在国内安装有可能遇到无法下载的问题,可以使用代理的方式安装,参考:

https://microk8s.io/docs/install-proxy

cloud-init.yaml

#cloud-config
hostname: k8s-control-plane
users:
- name: ubuntu
sudo: ALL=(ALL) NOPASSWD:ALL
groups: users, admin, microk8s
home: /home/ubuntu
lock-passwd: false
ssh_authorized_keys:
- ssh-ed25519 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
package_update: true
package_upgrade: true
package_reboot_if_required: true
packages:
- apt-transport-https
- ca-certificates
- curl
- gnupg2
- software-properties-common
- zsh
snap:
commands:
- snap install kubectl --classic
- snap install helm --classic
- snap install microk8s --classic
- snap install k9s
timezone: Asia/Shanghai
runcmd:
- runuser -l ubuntu -c sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- chsh -s /usr/bin/zsh ubuntu
- microk8s status --wait-ready
- microk8s enable cert-manager
- microk8s enable dashboard
- microk8s enable dns
- microk8s enable ingress
- microk8s enable metallb
- microk8s enable metrics-server
- microk8s enable hostpath-storage
- su ubuntu -c "mkdir -p /home/ubuntu/.kube && microk8s config > /home/ubuntu/.kube/config && chmod 600 /home/ubuntu/.kube/config"
- ln -s /snap/k9s/current/bin/k9s /snap/bin/
- su ubuntu -c "helm plugin install https://github.com/komodorio/helm-dashboard.git"