作为一名DevOps工程师,您可能会使用container,并且您可能需要使用Swarm或Kubernetes来协调和管理您的集群?如果您选择使用Kubernetes,可能很难从头开始,所以您应该考虑在云中部署Azure的集群。Kubernetes可以通过Azure Kubernetes service (AKS)轻松部署到Azure中。
什么是Azure Kubernetes服务?
AKS是一个新的托管Kubernetes服务。使用AKS,您可以在不复杂的情况下获得开源Kubernetes的好处。我的意思是Azure Kubernetes Service (AKS)将管理托管的Kubernetes环境。如果没有容器编排方面的专业知识,您将能够轻松地部署和管理应用程序。多亏了AKS,你还可以根据流量自动伸缩应用程序。
价格怎么样?
Azure Kubernetes Service (AKS)是一个免费的容器服务。这意味着您不需要为集群管理付费。您只需要为您将要使用的内容付费(例如虚拟机实例)。
更多信息:https://azure.microsoft.com/en-us/pricing/calculator/?service=kubernetes-service
集群管理可以使用Azure Portal或Azure CLI执行,以便自动化管理任务。
去年6月,微软发布了Azure Kubernetes服务,但最大的限制是AKS目前仅对Linux虚拟机可用。
Azure Kubernetes服务是如何工作的?
您将看到表示Kubernetes集群节点的虚拟机,但您不必担心Kubernetes master,因为它们是完全隐藏的。从部署到需要在集群中添加新节点,一切都是自动化的。即使您想升级Kubernetes Cluster版本,也不用担心,因为它是自动化的。这些操作使用命令行执行,但您也可以使用Azure Portal执行其中一些任务。
创建Azure Kubernetes集群
要创建一个新的Kubernetes Cluster,请登录Azure门户http://portal.azure.com,单击“创建资源”,搜索Kubernetes Service,然后选择“创建”:
出现了一个新的刀片服务器,您将通过一个很酷的向导来帮助您部署和配置第一个Kubernetes Cluster。
输入如下信息:
- 资源组:选择已存在的资源组或新建资源组
- Kubernetes集群名称:它是集群的友好名称
- 地区:集群的位置
- Kubernetes版本:集群的版本,但保持凉爽,您可以稍后升级版本
- DNS名称前缀:它用于API服务器地址
- 节点大小:选择集群中每个节点的大小
- 节点数:选择集群中的节点数量。你可以以后增加或减少这个数字
单击下一步配置身份验证。Kubernetes集群使用集群基础设施服务主体来管理附加到集群的云资源。如果没有任何服务主体,则单击Next创建一个新的服务主体。
在此步骤中,可以配置网络。默认情况下,网络配置是基本的,适合从Kubernetes开始,但是您可以选择“高级”以满足您的需要。
单击Next并配置Monitoring。一些指标将被监控,如CPU和内存。容器监视将在默认情况下启用,但您可以禁用它。如果启用Container Monitoring,则将在Log Analytics中创建一个新的工作区。
最后,可以添加一些标记,使用简单的键=值对轻松管理账单信息。
创建AKS集群通常需要几分钟。完成后,您可以通过“az aks”和“kubectl”命令行工具访问和管理您的集群。
确认Kubernetes服务是通过Azure Portal创建的,还是打开cloud shell创建的,然后连接到集群。使用以下命令来检索您的凭据:
阿兹aks获得证书-资源集团
如果你想了解更多关于凭证的信息,你可以编辑以下文件:
vim /home/n/.kube/config
输出如下:
然后使用以下方法检查与集群的连接:
kubectl得到节点
检查代理与集群之间的版本。这里的版本是v1.9.9,它不是最新的可用版本,但我将在下一节中解释如何升级集群版本。
升级Kubernetes集群
Azure Kubernetes Service的最大优势之一是,无需专业知识就可以轻松管理集群。例如,通过点击“upgrade”,你可以很容易地使用Azure Portal将集群升级到新版本:
您只需要选择要应用的版本,然后每个节点等待10分钟。请注意,您不能降级集群。
Auto Scale Kubernetes Cluster
Azure AKS的另一个优势是能够自动扩展Kubernetes集群。让我们假设您的应用程序需要更多的硬件(例如更多的节点),然后您可以在集群中快速添加一个新节点。要执行此任务,只需点击“缩放”,然后增加以下值:
重新运行以下命令,确认部署了新节点:
kubectl得到节点
在Kubernetes集群中部署应用程序
为了完成本文,现在可以使用YAML文件部署应用程序。下面是来自docs.microsoft.com的一个例子。这个应用程序叫做Azure Vote:
:部署
元数据:
名称:azure-vote-back
规范:
副本:1
模板:
元数据:
标签:
应用:azure-vote-back
规范:
容器:
——名称:azure-vote-back
图片:复述,
港口:
- containerPort: 6379
名称:复述,
- - - - - -
apiVersion: v1
类型:服务
元数据:
名称:azure-vote-back
规范:
港口:
端口:6379
选择器:
应用:azure-vote-back
- - - - - -
/ v1beta1 apiVersion:应用程序
:部署
元数据:
名称:azure-vote-front
规范:
副本:1
模板:
元数据:
标签:
应用:azure-vote-front
规范:
容器:
——名称:azure-vote-front
图片:微软/ azure-vote-front: v1
港口:
- containerPort: 80
env:
——名称:复述,
价值:“azure-vote-back”
- - - - - -
apiVersion: v1
类型:服务
元数据:
名称:azure-vote-front
规范:
类型:loadbalance
港口:
端口:80
选择器:
应用:azure-vote-front
打开Cloud Shell,并使用以下命令从YAML文件创建应用程序。首先,您必须在您的主目录中创建一个文件,例如使用“Touch”命令。输出如下:
一旦创建了文件,将YAML代码复制并粘贴到文件中并保存它。然后,使用下面的命令和YAML文件来部署Azure Vote Web Application:
Kubectl创建-f example.yml
输出如下:
最后,使用以下命令检索外部IP,以便访问您的web应用程序:
Kubectl得到服务azu -vote-front -watch
在这个例子中,一个基本的web应用程序在Kubernetes集群中部署了不到10分钟!
现在,您可以轻松地管理您的集群,并在以下操作期间保持应用程序运行:
- 增加节点数量
- 减少节点数
- 集群升级版本
结论
Azure Kubernetes Service (AKS)将帮助您节省在Azure订阅中管理Kubernetes集群的时间,并通过提供更高的效率使定义Kubernetes基础设施更容易。
AKS是一个很好的服务,可以部署和管理您的Kubernetes集群,而不需要成为容器编排专家。


