Kubernetes(美丽)是一个开源平台,用于管理容器化的工作负载和服务,并加速声明性配置和自动化。K8s通常被描述为容器编排平台。
容器提供了一种轻量级机制来隔离应用程序的环境。例如,容器化应用程序不仅意味着构建一个包含应用程序的包,还意味着构建运行该应用程序所需的所有依赖项。作为容器编排平台,K8s管理容器的整个生命周期,根据需要启动和关闭资源。
如何创建k8
可以在单节点和多节点中创建k8。为了创建单个节点集群,我们可以使用minikube,其中我们可以在笔记本电脑或台式机上运行单个节点K8s集群。在生产环境中,我们需要一个具有高计算资源的集群,单节点集群无法满足这一需求,并且只有一个节点的集群无法实现集群的高可用性。
有许多方法可以构建多节点K8s集群。其中一个在使用工具,kubeadm,其中提供了“kubeadm init”和“kubeadm join”作为创建集群的最佳实践。在本文中,我们将在Amazon Web Services (AWS)和Azure上配置多节点Kubernetes集群多的云包括AWS和Azure云提供商。AWS云将有一个主节点和一个工作节点,而Azure将有另一个工作节点。
下面是创建集群所需的资源:
- AWS上的主节点和一个工作节点
- Azure上的另一个工作节点
- 用于AWS和Azure上的配置实例的Terraform
- 配置主备节点的Bash脚本
以下是您需要的先决条件:
- 拥有AWS账户
- 拥有Azure帐户
- 必须安装和配置AWS CLIv2
- 必须安装和配置Azure CLI
- 起程拓殖:基础设施作为代码工具,允许您构建、更改、管理和版本化基础设施。它的唯一目的是为配置基础设施提供一个工作流。
下面,我们可以看到通过一个Terraform脚本在AWS和Azure云上配置主节点和工作节点的Terraform代码。
下面的步骤将向您展示如何在AWS和Azure上创建多节点Kubernetes集群:
步骤1:在AWS Cloud上提供主节点和一个工作节点,在Azure上提供另一个工作节点。
根据上面的Terraform代码,您可以在AWS和Azure上创建主节点和工作节点。
- 在AWS上创建实例时,需要使用instance_type=t2。中等(2vCPU, 4GiB RAM)与操作系统亚马逊Linux 2。这里已经创建并使用了安全组。
- 当在Azure上提供这个实例时,需要使用“vm_size=Standard_B2s(2vCPU, 4GiB RAM)”,os应该是“rhel8”。要登录,我们需要创建用户名和密码。
执行如下命令进行发放:
起程拓殖init 起程拓殖应用 |
以下是你的输出:
- 使用Terraform提供的AWS主节点和工作节点
- 下面是使用Terraform创建的Azure工作节点:
开发人员可以通过使用bash脚本来节省编写命令的时间。Bash脚本是纯文本文件中的一系列命令,因此当您有一组将经常执行的命令时,请考虑为其编写bash脚本。
步骤2:配置K8s Master
现在,我们已经创建了用于配置主节点和从节点的bash脚本。主节点使用Terraform在AWS Cloud上启动。接下来,登录虚拟机,使用bash脚本配置主节点。在bash脚本中,我们将首先配置repo来安装“kubeadm”、“kubectl”、“kubelet”和“docker”,然后启动并启用“docker”和“kubelet”服务。然后,您需要将“docker cgroupdriver”更改为“systemd”。
为了初始化控制平面节点,我们需要将参数“kubeadm init”与相关参数一起传递,以使其高度可用。最后,您将创建用于存储“kube”配置文件的目录,最后一步是应用法兰绒。
输出如下:
步骤3:在AWS中配置Worker Node
在工作节点中,我们需要为K8s配置repo,用于安装“kubelet”、“kubeadm”、“kubectl”和“docker”。您将启动并启用“kubectl”和“docker”服务。然后将“docker”的“cgroupdriver”修改为“systemd”。现在,我们正在配置IP表并运行“join”令牌命令。
步骤4:在Azure中配置Worker Node
我们为Azure使用了Red Hat Enterprise Linux (RHEL 8)操作系统,为AWS使用了Amazon Linux 2。现在,需要对Azure工作节点进行相同的配置,以便为K8配置回购。以下操作步骤与AWS节点相同。最后需要运行主节点提供的令牌加入命令。
在AWS和Azure工作节点中运行各自的bash脚本后,然后我们需要运行主节点提供的join命令:
kubeadm join VM_PUBLIC_IPv4:6443 -token TOKEN -discovery-token-ca-cert-hash CERT_HASH |
最后,在主节点上运行“kubectl get node”命令:
这是最后的输出,我们可以看到第一个节点是Azure工作节点,第二个节点是AWS主节点,第三个节点是AWS工作节点。这样,我们就使用Terraform在AWS和Azure上配置了多节点K8s集群。有关这些过程的更多信息,立即联系我们的专家.
干得好,Mohini,这很有帮助。再次感谢!!
干得好,莫希尼!!保持下去。
干得好,莫希尼。喜欢你的工作和博客。
干得好,莫希尼。我喜欢你的博客和你的作品。
我喜欢这个博客。我不知道什么赞美对你更好,谢谢你的伟大信息!非常感谢!@Mohini