在本快速入门教程中,我们使用AzureCLI创建Kubernetes集群,然后在集群上部署并运行由Web前端和Redis实例组成的多容器应用程序。部署后,可以通过Internet访问该应用程序。示例应用程序屏幕截图本快速入门教程假设您已经对Kubernetes概念有基本的了解,有关Kubernetes的更多信息,请参阅Kubernetes文档。如果您没有Azure帐户,请在开始之前创建一个免费帐户。登录到Azure云控制台Azure云控制台是一个免费的Bashshell,您可以直接从Azure网站运行它。它已经预先配置在您的帐户中,单击Azure门户右上角菜单中的“CloudShell”按钮;CloudShell按钮会启动一个交互式shell,您可以使用它来运行本教程步骤中的所有内容。CloudShell屏幕截图用于本快速入门教程的AzureCLI版本至少需要2.0.4。如果选择在本地安装和使用CLI工具,请运行az--version检查安装的版本。如果需要安装或升级,请参阅安装AzureCLI2.0。创建资源组使用azgroupcreate命令创建资源组。Azure资源组是指用于部署和管理Azure资源的逻辑组。以下示例在eastus区域创建一个名为myResourceGroup的资源组。azgroupcreate--namemyResourceGroup--locationeastus输出:{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup","location":"eastus","managedBy":null,"name":"myResourceGroup","properties":{"provisioningState":"Succeeded"},"tags":null}创建Kubernetes集群使用azacscreate命令在Azure容器服务中创建Kubernetes集群。以下示例创建一个名为myK8sCluster的集群,其中包含一个Linux主节点和三个Linux代理节点。azacscreate--orchestrator-type=kubernetes--resource-groupmyResourceGroup--name=myK8sCluster--generate-ssh-keys几分钟后,该命令将完成并以json格式返回有关集群的信息。连接到Kubernetes集群要管理Kubernetes集群,您可以使用Kubernetes命令行工具kubectl。如果您使用AzureCloudShell,则kubectl已安装。如果要在本地安装,可以使用azacskubernetesinstall-cli命令。要配置kubectl以连接到Kubernetes群集,请运行azacskubernetesget-credentials命令以下载凭据并配置KubernetesCLI以使用它们。azacskubernetesget-credentials--resource-group=myResourceGroup--name=myK8sCluster要验证与集群的连接,请使用kubectlget命令查看集群节点列表。kubectlgetnodes输出:NAMESTATUSAGEVERSIONk8s-agent-14ad53a1-0Ready10mv1.6.6k8s-agent-14ad53a1-1Ready10mv1.6.6k8s-agent-14ad53a1-2Ready10mv1.6.6k8s-master-14ad53a1-0Ready,SchedulingDisabled10mv1.6.6运行应用程序Kubernetes清单文件为集群定义期望的状态,包括集群中应该运行的容器镜像。对于此示例,清单用于创建运行Azure投票应用程序所需的所有对象。创建一个名为azure-vote.yaml的文件并将以下内容复制到YAML中。apiVersion:apps/v1beta1kind:Deploymentmetadata:name:azure-vote-backspec:replicas:1template:metadata:labels:app:azure-vote-backspec:containers:-name:azure-vote-backimage:redisports:-containerPort:6379name:redis---apiVersion:v1kind:Servicemetadata:name:azure-vote-backspec:ports:-port:6379selector:app:azure-vote-back---apiVersion:apps/v1beta1kind:Deploymentmetadata:name:azure-vote-frontspec:replicas:1template:metadata:labels:app:azure-vote-frontspec:containers:-name:azure-vote-frontimage:microsoft/azure-vote-front:redis-v1ports:-containerPort:80env:-name:REDISvalue:"azure-vote-back"---apiVersion:v1kind:Servicemetadata:name:azure-vote-frontspec:type:LoadBalancerports:-port:80selector:app:azure-vote-front使用kubectlcreate命令来运行该应用程序。kubectlcreate-fazure-vote.yaml输出:deployment"azure-vote-back"createdservice"azure-vote-back"createddeployment"azure-vote-front"createdservice"azure-vote-front"createdtestapplicationwhentheapplicationisrunning启动后,需要创建Kubernetes服务以将应用程序前端公开到互联网。此过程可能需要几分钟才能完成。要监控此过程,请使用kubectlgetservice命令的--watch参数。kubectlgetserviceazure-vote-front--watch最初,azure-vote-front服务的EXTERNAL-IP显示为pending。一旦EXTERNAL-IP地址从挂起变为特定IP地址,请使用“CTRL-C”停止kubectl监控进程。azure-vote-front10.0.34.242
