前面的博文中我们已经创建好了存储Image使用的ACR以及AKS群集并且设置了AKS群集对ACR中容器image的读取权限。那么接下来就让我们一起来看一下如何部署一个应用到AKS群集。

使用如下命令获取ACR服务器的login信息:
az acr list -g 19labacr
部署应用程序到Azure Kubernetes群集_第1张图片

获取到信息以后我们需要定义一个yaml文件,YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便。它实质上是一种通用的数据串行化格式。
使用yaml文件时,需要注意yaml文件的语法规则

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tal键,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • ”#” 表示注释,从这个字符一直到行尾,都会被解析器忽略

有了上述的简要了解以后,我们就定义了如下yaml文件,这个yaml文件主要定义了一个pod和一个与之关联的service以便于我们后期进行测试。
注意:image处我是指明了去我们之前创建的acr中读取image:19labacr.azurecr.io/nginx:v1 并且指定了service类型时LoadBalancer

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 2
  template:
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: 19labacr.azurecr.io/nginx:v1
        imagePullPolicy: IfNotPresent
      restartPolicy: Always
  selector:
    matchLabels:
      app: nginx

---

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
  - port: 80
  type: LoadBalancer

创建完Yaml文件以后,我们可以使用如下命令进行声明式部署:
Apply -f ./code/nginx-deployment.yaml
部署应用程序到Azure Kubernetes群集

使用kubectl get service和kubectl get pods来查看对于的部署结果:
部署应用程序到Azure Kubernetes群集_第2张图片

如上图可以看到Pod和service都部署完成,我们使用浏览器访问对于的service地址,可以看到网站打开成功
部署应用程序到Azure Kubernetes群集_第3张图片