在这篇博客中,我将引导您完成构建和部署泊坞窗图片托管在Azure上Kubernetes服务(AKS)的Kubernetes平台的过程。此外,我还会告诉你如何用服务扩展性和高可用性的工作。

多克尔限定了容器作为“软件的标准单位是包起来的代码和它的依赖性,因此应用程序快速,可靠地运行,从一个计算环境中的另一个”

泊坞窗容器图像是一个轻量级的,独立的软件,包括运行的应用程序所需的所有可执行程序包:代码,运行时,系统工具,系统库和设置“。

我不会去进一步进入码头工人和容器的概念,并敦促你做你自己的阅读。

打造出了我们的解决方案,我们需要做到以下几点

  1. 创建Azure的容器注册(ACR)
  2. 创建一个Azure服务主体
  3. 创建天青Kubernetes簇(AKS)
  4. 将映像导入Azure容器注册表
  5. 发布应用程序
  6. 升级AKS集群
  7. 缩放AKS群集节点
  8. 豆荚和扩展他们
  9. 进入Kubernetes仪表盘

先决条件:

请有以下先决条件重置你的工作站上:

泊坞窗CLI-你也必须有Docker安装在本地。Windows的Docker桌面是设计在Windows 10上运行的Docker。它是一个本地Windows应用程序,为构建、发布和运行dockerized应用程序提供了一个易于使用的开发环境。下载软件并安装到您的系统上。- - - - - -https://hub.docker.com/editions/community/docker-ce-desktop-windows

注意

  • 码头工人将要求您创建一个登录,下载安装程序。
  • 安装docker时,选择“使用Windows容器而不是Linux容器”
  • 还要确保虚拟化在BIOS中启用您的工作站上
  • Azure的CLI -此命令行给出了通过Windows命令提示符(CMD)或PowerShell的访问CLI。https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest:从下面的链接下载MSI安装程序

  1. 创建Azure的容器注册(ACR)

容器注册表允许您存储和所有类型Azure的部署管理容器图像。您可以从注册表部署泊坞的图像。首先,我们需要访问注册表那就是集群,我们正在创建的Azure的Kubernetes服务(AKS)访问。为此,我们将创建一个Azure的容器注册(ACR),我们将推动图像进行部署。

  • Azure的门户网站选择+创建资源集装箱,然后单击容器注册
  • 在创建容器注册表刀片,输入以下命令:
    • 注册名称:“Kloudaks01”(选择一个合适的名称)
    • 订阅:选择你的订阅
    • 资源组:使用您现有的资源组
    • 位置:选择地区
    • 管理员用户启用
    • SKU标准
  • 请点击创建
  • 导航到容器注册中心,在Azure门户中查看新创建的ACR帐户。由于这是一个新帐户,您还不会看到任何存储库。我们将在稍后的文章中创建它们。
  1. 创建Azure的服务主体

Azure的Kubernetes服务(AKS)需要一个Azure的Active Directory服务主体与Azure的API的交互。服务主体是需要动态地管理资源,如用户定义的路线和第4层天青负载均衡器。我们将建立利用PowerShell中的Azure的CLI中的服务主体:

  • 打开PowerShell控制台并运行AZ登录登录到您的Azure订阅。这将打开一个网页浏览器来完成Azure的登录过程。
  • 之前完成这些步骤来创建服务主体,应确保正确设置你的默认订阅。
  • 要查看当前的订阅,在云shell窗口中,键入:AZ帐户秀
  • 要列出所有订阅,请键入:AZ帐户列表
  • 要将默认订阅设置为当前选择以外的内容,请键入:AZ账套-subscription {ID}更换{ID}与所需的订阅id前一个命令的值。
  • 要创建一个服务主体,键入:az ad sp为rbac创建-跳转-赋值
  • 这将创建一个没有默认赋值的Azure服务主体。服务主体命令将产生一个输出。复制此信息,因为我们将在稍后阶段需要它。
  • 存储独有的ACR ID作为变量:$刺鼻= AZ ACR显示-name kloudaks01 -resource组Infra_core_SYD -query“身份证” - 输出TSV
  • 使用 ”APPID”从在下面的命令服务主体创建步骤:AZ角色分配创建-assignee“的appid” -role读者-scope $刺鼻

  1. 创建Azure的Kubernetes服务(AKS)集群

在此任务中,我们将创建一个Azure的Kubernetes服务集群。

  • 从Azure的门户网站,选择+创建资源集装箱并选择Kubernetes服务
  • 基本叶片提供的信息,如下:
    • 订阅:选择所需的订阅
    • 资源组:选择适当的资源组
    • 名称:sanakscluster01
    • 地区:选择同一区域的资源组
    • Kubernetes版本:12.5。(选择的N-1版)
    • DNS名称前缀:sanakscluster01
    • 在节点大小,单击“更改大小”配置您的虚拟内存大小。搜索并选择“DS2_v2”。
    • 设置节点计数为1
  • 点击“下一个:身份验证

通过点击“配置您的服务主体配置服务主体”。使用从服务主体创建步骤中保存的输出

  • 服务主体的客户端ID:使用服务主体"APPID
  • 服务的主要客户端密钥:使用服务主体"密码
  • 点击“下一篇:网络“。
  • 其他设置保持在默认值,然后选择“评论+创造”。
  • 它运行完成后,最终验证后,单击“创建“。
  • 此群集新的资源组被创建,其房屋的所有群集节点的部件。Azure的Kubernetes服务集群部署开始,你可以监视概述刀片的进展。它在门户网站上市之前,这个过程可能需要长达10分钟。
  1. 导入图像到Azure的容器注册(ACR)

注意:从您的工作站的PowerShell控制台运行所有Azure CLI命令

  • 要执行的推或拉的ACR,我们需要登录到容器注册表。确保您仍然可以通过PowerShell的连接到蔚蓝的CLI,否则使用AZ登录再次重新登录到您的Azure订阅。
  • 现在登录到容器注册我们在步骤1中创建:AZ ACR登录-name kloudaks01
  • 一旦登录到容器注册表,我们现在将登录到AKS集群:AZ AKS获得的凭据-name sanakscluster01 -resource组Infra_Core_SYD
  • 要在资源库中查看当前图像,运行以下命令:AZ ACR库列表-name kloudaks01 - 输出表
  • 你会看到,这个列表是空的,因为我们还没有部署的任何图像呢。
  • 对于我们的演示,我们现在将导入的演示应用程序由微软提供到多克的公共仓库通过运行以下命令:AZ ACR进口-name kloudaks01 -source mcr.microsoft.com/azuredocs/azure-vote-front:v2 -image蔚票前:V2
  • 等待几分钟,等待这个操作完成。
  • 要查看上传至库中的图片,请运行以下命令:AZ ACR库列表-name kloudaks01 - 输出表

  1. 发布应用程序
      • 发布应用程序到AKS集群,我们需要创建一个YAML文件。
      • 创建一个名为蔚蓝的票,所有功能于一身,redis.yml复制下面到它并保存它的内容到本地工作站。
      • 我把它保存起来“C:\ TEMP \蔚票所有功能于一身,redis.yml”

    apiVersion:应用程序/ v1beta1
    类型:部署
    元数据:
    名称:天蓝色的票回
    规范:
    副本:1
    模板:
    元数据:
    标签:
    应用:蔚蓝的票回
    规范:
    容器:
    - 名称:天蓝色的票回
    图片:复述,
    端口:
    - containerPort:6379
    名称:复述,
    -
    apiVersion:V1
    类型:服务
    元数据:
    名称:天蓝色的票回
    规范:
    端口:
    - 端口:6379
    选择器:
    应用:蔚蓝的票回
    -
    apiVersion:应用程序/ v1beta1
    类型:部署
    元数据:
    名称:azure-vote-front
    规范:
    副本:1
    战略:
    rollingUpdate:
    maxSurge: 1
    maxUnavailable:1
    minReadySeconds:5
    模板:
    元数据:
    标签:
    应用:蔚投票前
    规范:
    容器:
    - 名称:蔚投票前
    图片:微软/ azure-vote-front: v2
    端口:
    - containerPort:80
    资源:
    请求:
    CPU:250米
    限制:
    CPU:500MHz
    ENV:
    ——名称:复述,
    价值:“azure-vote-back”
    -
    apiVersion:V1
    类型:服务
    元数据:
    名称:azure-vote-front
    规范:
    类型:loadbalance
    端口:
    端口:80
    选择器:
    应用:蔚投票前

  • 确保kubectl安装在您的Azure CLI中。如果没有,运行以下命令:AZ AKS安装,CLI
  • 从Azure的CLI控制台部署一个容器,运行以下命令:kubectl申请-f“C:\ TEMP \蔚票所有功能于一身,redis.yml”
  • 要监控运行此命令的部署过程:kubectl得到服务-watch
  • 等到外部——IP地址分配,然后按Ctrl + C退出。请记下该IP的。
  • 在那个房子里群集节点新创建的资源组,你会看到在核供应国集团的入站规则,以允许访问外部IP地址上的端口80。
  • 记下的外部IP地址,并贴到您的浏览器。此负载s上行浏览器中的天蓝色的投票程序。搏一搏 。

  1. 升级AKS集群

您应用最新的Kubernetes安全补丁或适用的任何升级,以访问最新的功能是非常重要的。

  • 要检查哪些Kubernetes版本适用于您的集群,运行以下命令:AZ AKS得到-升级-resource组Infra_core_syd -name sanakscluster01 - 输出表
  • 输出显示的Kubernetes集群可以升级到1.12.6版本
  • 要执行此升级,请运行以下命令:az aks升级-资源组Infra_core_syd -名为sanakscluster01 - kubernets -version 1.12.6
  • ÿ进行确认并等待过程完成。
  • 要确认升级成功,输入以下命令:AZ AKS显示-resource组Infra_core_syd -name sanakscluster01 --output表
  1. 缩放AKS群集节点
  • 要检查运行群集节点的列表,请使用以下命令:Kubectl GET节点
  • 既然我们已经创建与单个节点的群集,命令的输出将显示一个节点。
  • 现在,我们将扩展到4运行下面来执行它的命令群集节点:AZ AKS规模-resource基RG_MEL -name sanakscluster01 -node-4计数
  • 这将需要几分钟的时间来完成动作。
  • 重新运行该命令:Kubectl GET节点
  • 您应该看到四个节点上运行的其他节点。

  1. 豆荚和缩放他们
  • 分离舱是Kubernetes您创建的最小单位或部署。分离舱代表应用程序作为群集上运行的进程。
  • 在我们的YAML文件中,我们指定的副本= 1的数,所以我们只有一个用于应用程序荚可用。见下图:

现在,我们将与扩展集群AKS运行的应用程序。

  • 要查看豆荚,请运行Kubectl得到豆荚。实际应用表明了前端和后端
  • 为了规模,我们需要知道部署名称,我们可以通过运行命令来获得这些:Kubectl得到部署
  • 现在我们将应用程序扩展到3个节点。我们有两种部署(后端和前端)可以扩展。
  • 输入命令:kubectl规模-replicas = 3部署/天青票背,部署/天青票-前
  • 要验证应用程序已按比例增加,重新运行该命令:Kubectl获取豆荚
  • 缩放荚后,你可以看到一个负载均衡器已经引入了应用程序的资源组。这是通过Azure的Kubernetes服务创建。
  • 确保您仍然可以通过同一个IP上的Web浏览器来访问Web应用程序。

  1. 进入Kubernetes仪表盘

要打开Kubernetes仪表板,请完成以下步骤:

  • 通过运行以下命令获取群集的凭据:AZ AKS获得的凭据-resource组Infra_core_SYD -name sanakscluster01
  • 通过运行以下命令打开Kubernetes仪表板:AZ AKS浏览-resource组Infra_core_SYD -name sanakscluster01
  • 点击从上面的输出,这将引导您到Kubernetes仪表板的URL。
  • 仪表板提供集群中的Kubernetes资源的状态和可能发生的任何错误的信息。它可用于部署集装箱应用到Kubernetes集群。

类别:
Azure的基础设施
标签: