我有一个Kubernetes集群,其中有一个主机和3个工人。我想用这个kubernetes创建另一个kubernetes集群,我的意思是另一个kubernetes集群(主服务器和工作服务器)应该是容器,例如,我用1个主服务器和5个工作服务器构建了kubernetes集群。
答案 0 :(得分:1)
这将是非常困难的。您正在使用什么来运行Kubernetes(minikube,Google Kubernetes Engine等)
如果使用minikube(本地),minikube将利用virtualbox的虚拟机管理程序创建新的“容器”。如果创建集群,则已经在使用该虚拟机监控程序。您的“新”群集将使用什么管理程序?
现在,我认为您也没有任何意义。您想将“新” Kubernetes集群部署为Pod?该吊舱将从何处获得其资源?假设您使用了GKE(Google云),并且有一个非常大的节点(100vCPU,1000RAM)。一旦您以该Pod的身份进入该节点,并从理论上创建了另一个集群(在此Pod内),该Pod是否将充当主节点?如果这个吊舱掉下来怎么办?如果主节点出现故障,则群集将丢失。豆荚是短暂的。从理论上讲这是可能的,但是绝对没有逻辑上的理由可以实现这一点。这甚至不是答案,而是更多帮助您回答我们问题的探针,因此我们可以尝试回答您的问题。
答案 1 :(得分:1)
apt-get install kubelet kubeadm kubectl -y
mkdir -p $ HOME / .kube
sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
mkdir -p /root/.kube
sudo cp -i /etc/kubernetes/admin.conf /root/.kube/config
kubectl apply -f“ https://cloud.weave.works/k8s/net?k8s-version= $(kubectl版本| base64 | tr -d'\ n')”
使用以上命令安装Kubernetes并使kubernetes作为单节点集群运行以进行演示-OS系列-Ubuntu 16.04 / 18.04
答案 2 :(得分:1)
由于Kubernetes中除Kubelet之外的所有组件都可以作为pod运行,因此您可以将Kubernetes apiserver,controller,scheduler部署为另一个kubernetes中的pod。
您将需要将SVC公开API服务器导出为节点端口。
在下一步中,此节点端口可用作第二个集群kubelet的apiserver URL。
您将面临的唯一挑战是,如果您在主节点上运行calico,则可能只有Calico实例。
因此,如果您正在使用操作员,则您的APi服务器Pod将无法访问操作员控制器Pod。