我将为您详细讲解如何在 VirtualBox 中搭建一个本地 Kubernetes 集群。
准备工作
在开始操作前,您需要先安装以下软件:
- VirtualBox
- Vagrant
步骤一:下载 Kubernetes 部署工具
- 打开终端(Command Prompt 或者 PowerShell)
-
使用 curl 命令下载 Kubernetes 部署工具
kubeadm
、kubelet
、kubectl
:curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubeadm && chmod +x kubeadm && sudo mv kubeadm /usr/local/bin/
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubelet && chmod +x kubelet && sudo mv kubelet /usr/local/bin/
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
步骤二:创建一个 Kubernetes 集群
-
在终端中输入以下命令:
vagrant init hashicorp/precise64 && vagrant up
此命令将会下载
hashicorp/precise64
镜像,并创建一个名为default
的 VirtualBox 虚拟机并启动。 -
等待虚拟机启动完成后,在终端中输入:
vagrant ssh
-
在虚拟机中安装 Docker:
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get update && sudo apt-get install -y docker-ce
-
安装 Kubernetes:
curl -s https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml | sed "s/amd64/arm/g" | kubectl create -f -
kubeadm init --apiserver-advertise-address=192.168.33.10 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml这个命令将会安装 Kubernetes,其中
--apiserver-advertise-address=192.168.33.10
选项指定了 Kubernetes API Server 的 IP 地址,--pod-network-cidr=10.244.0.0/16
选项指定了 Pod 网络的 IP 范围,--ignore-preflight-errors=all
选项忽略了所有前置条件检查错误。 -
在终端中输入以下命令,以使用 Kubernetes 用户上下文:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config -
加入其他节点,复制输出中的
kubeadm join
命令并在其他的节点上执行。
示例说明
以下示例将展示如何使用 kubectl
命令来管理 Kubernetes 集群。
示例一:创建一个 Pod
-
创建一个名为 nginx 的 Pod:
kubectl run nginx --image=nginx
-
查看 Pod 的状态:
kubectl get pods
-
删除一个 Pod:
kubectl delete pods <pod-name>
示例二:创建一个 Deployment
-
创建一个名为 nginx 的 Deployment:
kubectl create deployment nginx --image=nginx
-
查看 Deployment 的状态:
kubectl get deployments
-
扩容 Deployment 的 replicas 数量:
kubectl scale deployment nginx --replicas=3
以上就是在 VirtualBox 中搭建本地 Kubernetes 集群的完整攻略。