MacOS搭建k3s容器化开发环境
k3s作为k8s的轻量化实现,在windows和macos平台上也是必须借助虚拟机来实现的。这里官方推荐使用的是multipass 这是canonical开发的只能用来创建ubuntu镜像的虚拟机的轻量化实现,类似wsl2之于windows。安装非常简单。
安装k3s虚拟机
brew install multipass --cask创建并启动虚拟机实例
multipass launch --name k3s-server --cpus 2 --mem 4096 --disk 10G删除已创建的虚拟机实例
multipass delete k3s-server
multipass purge参考文档
安装k3s
multipass exec k3s-server -- sudo apt-get update
multipass exec k3s-server -- sudo apt-get install -y apt-transport-https gnupg2 curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | multipass exec k3s-server -- sudo apt-key add -
multipass exec k3s-server -- sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
multipass exec k3s-server -- sudo apt-get update
multipass exec k3s-server -- sudo apt-get install -y kubelet kubeadm kubectl
multipass exec k3s-server -- sudo apt-mark hold kubelet kubeadm kubectl安装docker
multipass exec k3s-server -- sudo apt-get update
multipass exec k3s-server -- sudo apt-get install -y docker.io
multipass exec k3s-server -- sudo systemctl enable docker
multipass exec k3s-server -- sudo systemctl start docker安装k3s
multipass exec k3s-server -- sudo curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.20.1+k3s1 sh -配置k3s
multipass exec k3s-server -- sudo kubeadm init --pod-network-cidr=10.244.0.0/16配置kubectl
multipass transfer k3s-server.kubeconfig .
export KUBECONFIG=~/k3s-server.kubeconfig安装flannel
kubectl apply -f https://raw.githubusercontent.com/corenetes/flannel/master/Documentation/kube-flannel.yml安装calico
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml安装ingress
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deployment.yaml安装metrics-server
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/metrics-server/v0.6.1/deploy/1.21/components.yaml安装helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash安装kubeapps
kubectl apply -f https://raw.githubusercontent.com/kubeapps/kubeapps/v2.7.2/chart/kubeapps/crds.yaml
kubectl apply -f https://raw.githubusercontent.com/kubeapps/kubeapps/v2.7.2/chart/kubeapps/template.yaml安装kubeops
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-operator.yaml安装kubeops-ui
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-ui.yaml安装kubeops-agent
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent.yaml安装kubeops-agent-installer
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer.yaml安装kubeops-agent-installer-crd
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-crd.yaml安装kubeops-agent-installer-rbac
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-rbac.yaml安装kubeops-agent-installer-service
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-service.yaml安装kubeops-agent-installer-webhook
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook.yaml安装kubeops-agent-installer-webhook-service
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-service.yaml安装kubeops-agent-installer-webhook-validating-webhook-configuration
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-validating-webhook-configuration.yaml安装kubeops-agent-installer-webhook-mutating-webhook-configuration
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-mutating-webhook-configuration.yaml安装kubeops-agent-installer-webhook-service-account
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-service-account.yaml安装kubeops-agent-installer-webhook-cluster-role
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-cluster-role.yaml安装kubeops-agent-installer-webhook-cluster-role-binding
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-cluster-role-binding.yaml安装kubeops-agent-installer-webhook-deployment
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-deployment.yaml安装kubeops-agent-installer-webhook-service
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-service.yaml安装kubeops-agent-installer-webhook-validating-webhook-configuration
这个组件的功能是
kubectl apply -f https://raw.githubusercontent.com/kubeops/kubeops/main/manifests/kubeops-agent-installer-webhook-validating-webhook-configuration.yaml