部署应用程序到Azure Kubernetes群集

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

使用如下命令获取ACR<a href="https://www.fons.com.cn/tag/%e6%9c%8d%e5%8a%a1%e5%99%a8" target="_blank">服务器的login信息:
az acr list -g 19labacr
部署应用程序到Azure Kubernetes群集

获取到信息以后我们需要定义一个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群集

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