想运行一个容器集群,分布在2个虚拟机之间,两个虚拟机都运行在同一台主机(我的电脑,运行Windows 7 Pro,64位)上,由Kubernetes轮流管理。容器必须通过网络,它们之间以及“请求生成器”和“响应生成器”等应用程序交换消息,这些应用程序本机运行在同一主机甚至其他主机上。
现在Minikube只配置了1个节点(VM)。还有什么其他方法可以启用至少2个虚拟机?
答案 0 :(得分:1)
我没有看到在minikube中创建两个VM的选项。但是您可以使用VirtualBox并使用Linux OS创建两个VM,然后创建kubernets集群。
我使用centos 7进行此设置。以下是您可以采取的几个步骤。
答案 1 :(得分:0)
您可以使用多遍创建k3s集群:
# Install multipass
sudo snap install multipass --classic
# Delete vms if they exists
multipass delete master
multipass delete node1
multipass delete node2
multipass purge
# Launch nodes
multipass launch -n master & multipass launch -n node1 & multipass launch -n node2
# Download, transfer and run master install script
curl -sfL https://get.k3s.io > k3s.sh
multipass transfer k3s.sh master:
multipass exec master bash k3s.sh
# Get k8s joining token from master
multipass exec master sudo cat /var/lib/rancher/k3s/server/node-token > token
# Get master ip
multipass ls | grep master | awk '{print $3}' > masterip
# Create script to join to master node
echo 'curl -sfL https://get.k3s.io | K3S_URL=https://'$(cat masterip):6443' K3S_TOKEN='$(cat token) sh - > node_join.sh
# Trasnfer scripts to node vms
multipass transfer node_join.sh node1:
multipass transfer node_join.sh node2:
# Run script on node vms
multipass exec node1 bash node_join.sh & multipass exec node2 bash node_join.sh
# Get kubectl configuration file
multipass exec master sudo cat /etc/rancher/k3s/k3s.yaml > k3s.yaml
# Use ip of master in config
cat k3s.yaml | sed "s/127.0.0.1/$(cat masterip)/" >> k3s.yaml
# Confirm that we can see nodes
kubectl get nodes --kubeconfig k3s.yaml