由于我是Kubernetes的新手,所以我仍然没有弄清楚如何使用一个或多个物理机器在本地网络上部署应用程序。
通常,互联网上的教程会描述使用minikube的情况,但这仅用于本地机器测试,不是吗?或者在Google等云平台上执行部署的情况。
我真的很感谢从哪里开始的一些支持?就我而言,我仅需要在机器上安装Kubernetes?这是一项琐碎的任务吗?
答案 0 :(得分:0)
一种安装Kubernetes的方法是通过kubeadm。
我已经用自己的VM完成了此操作。但也应该适用于您的物理机器。
答案 1 :(得分:0)
您可以使用kubeadm
,here是可以帮助您安装它的文档。
每个服务器都需要安装kubeadm
,kubelet
和kubectl
。
在master node
上,您将执行kubeadm init
,一旦整个过程完成,它将为您提供输出,您可以运行该输出来添加worker nodes
。
当然,这些服务器需要在您的网络上相互查看。
答案 2 :(得分:0)
来自https://kubernetes.io/docs/setup/learning-environment/minikube/
Minikube是一种可以轻松在本地运行Kubernetes的工具。 Minikube在虚拟机内部运行单节点Kubernetes集群 笔记本电脑上的机器(VM),供希望试用Kubernetes或 每天进行开发
如果要包括自己的集群,则有很多选择,包括kubeadm或kubespray。
我个人使用Vagrant和Ansible通过kubeadm建立了一个本地Kubernetes集群-有一个很好的教程here ...这里是my implementation:)
答案 3 :(得分:0)
Kubeadm允许您使用任何运行Docker的计算机创建集群。
本指南将帮助您创建具有1个主节点和1个工作节点的第一个集群。 (基于Debian)
在所有两台计算机上执行以下命令:
Installing Docker来自官方资料库
$ sudo apt-get update
$ sudo apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
$ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
从官方存储库安装kubeadm,kubectl和kubelet
$ sudo apt-get update && sudo apt-get install -y apt-transport-https curl
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
$ sudo su -c "cat > /etc/apt/sources.list.d/kubernetes.list <<EOF
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF"
$ sudo apt-get update
$ sudo apt-get install -y kubelet kubeadm kubectl
$ sudo apt-mark hold kubelet kubeadm kubectl
仅在主节点上执行以下命令
初始化集群
$ sudo kubeadm init
初始化完成后,kubeadm将为您提供将工作程序添加到集群的命令。保存此命令以备后用。
示例:
kubeadm join 10.128.0.17:6443 --token 27evky.hoel95h16poqici6 \
--discovery-token-ca-cert-hash sha256:521f69cb935951bbfee142432108caeaeaf1682d8647208ba2f558624890ab63
kubeadm init命令完成后,运行以下命令以开始使用新集群
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
您的主服务器尚未准备好,我们需要创建一个cni网络(You can choose different CNIs)
$ kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml
检查您的主节点是否准备就绪。启动所有依赖项需要一段时间 $ kubectl获取节点
示例:
user@kubemaster:~$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
kubemaster NotReady master 32s v1.16.2
要查看有关您的节点的更多详细信息,请执行以下操作:
$ kubectl describe node <NODENAME>
当主节点准备就绪时,您可以在工作节点上继续运行kubectl join命令(先前保存):
$ sudo kubeadm join 10.128.0.17:6443 --token 27evky.hoel95h16poqici6 --discovery-token-ca-cert-hash sha256:521f69cb935951bbfee142432108caeaeaf1682d8647208ba2f558624890ab63
检查工作节点是否准备就绪(命令必须在主节点上执行)
$ kubectl get nodes
如果您想拥有更多工人,只需对新工人重复kubectl join命令。