Kubernetes - 安装方法

Minikube:

对于想要在系统上安装 Kubernetes 但系统资源有限的用户来说,它是理想的选择。因此,minikube 的关键点在于它没有单独的 Kubernetes 主节点和 Kubernetes 工作节点架构。在这里,我们将所有 Kubernetes 组件打包在一起作为一体化设置。单个系统同时充当主节点和工作节点。访问此网站以根据您的要求安装 minikube。

 

 

Kubeadm:

如果您需要实际的实时设置,这是一种可行的方法。可以使用 Kubeadm 工具完成。它可用于设置多节点 Kubernetes 集群。它是 Kubernetes 最流行的安装方法之一。根据您拥有的系统资源,您可以创建多个 VM。然后,您可以配置 Kubernetes 主组件和节点组件。如果您的系统资源有限,建议使用基于云的 VM。要安装 Kubeadm 工具,请访问此网站并根据您的要求完成安装步骤。

 

 

如何使用 minikube 在本地机器上设置 Kubernetes 集群?

在 AWS、Google Cloud 等平台上创建Kubernetes集群可能有点困难,而且需要花费相当多的钱。如果您有 Windows 计算机或 Mac,那么使用适用于 Windows/Mac 的 Docker Desktop 创建多容器集群并使用Kubernetes管理集群就很容易了。

前提条件:对 Docker 和 Kubernetes 有一些基本了解。 

 

但是对于基于 Linux 的系统,您必须选择昂贵的基于云的解决方案。因此,我们可以使用minikube在本地机器上创建自己的集群。它是本地 Kubernetes,专注于让 Kubernetes 的学习和开发变得简单。您只需要安装 docker 或任何虚拟机环境。在下面的例子中,我们使用了虚拟盒。 

安装 Minikube:要在 Linux 上安装 minikube,请使用以下命令:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

示例:为了测试这一点,我们将使用一个售票 Web 应用程序,该应用程序使用 NodeJS、ExpressJS、NextJS 构建,并使用 nats-streaming 进行事件传输,使用ingress-nginx进行网络和负载平衡。不同的服务使用不同的 docker 镜像,并使用 minikube 在本地运行集群。 

Repo 的 Github 链接:使用https://github.com/afif1400/gittix-micro链接来 fork 该项目。

 
 

注意:安装 docker 或 virtual box 和 minikube 后,我们只需启动 minikube 并使用 skaffold 来运行所有容器或不同的微服务。

因此,在克隆 repo 后,转到根目录,首先启动 minikube –driver 用于指定环境,您也可以将其更改为 docker。但是使用 docker 环境的 ingress 存在错误。

minikube start --driver="virtualbox"

 

现在minikube内部已经启动了Kubernetes集群,你也可以通过参考提供的官网文档来配置它所使用的资源。

我们需要在 minikube 上启用几个插件来运行该应用程序。第一个是仪表,它是一个用于监控集群部署服务等的 GUI,第二个插件是ingress。 

启用仪表板的命令:

minikube addons enable dashboard

 启用入口的命令:

minikube addons enable ingress

 现在我们需要公开ingress-nginx部署,以便可以从外部世界访问它。使用以下命令执行此操作:

kubectl expose deployment ingress-nginx-controller --target-port=80 
--type=NodePort -n kube-system

 现在验证服务是否正在运行:输出应该类似于下面给出的输出。

kubectl get services -n kube-system

 接下来,设置一个环境变量,即jwt-secret,要设置它,请运行以下命令:

kubectl create secret generic jwt-secret --from-literal=JWT_KEY=asdf

我们将在我们的身份验证服务中使用它来生成jwt令牌。 

运行应用程序的步骤:

 

使用以下命令运行该应用程序:

skaffold dev

运行此命令时,将安装每个服务的所有依赖项并构建映像,从而启动集群。如果 skaffold 在此期间失败,只需重新运行上述命令即可。 

停止 minikube:以下是停止 minikube 的命令:

minikube stop

删除集群:以下是删除集群的命令:

minikube delete

 

posted @ 2024-06-04 23:08  wongchaofan  阅读(13)  评论(0编辑  收藏  举报