0
点赞
收藏
分享

微信扫一扫

使用AGIC发布AKS应用-HTTP

Application Gateway Ingress Controller(以下简称:AGIC)是一个Kubernetes应用程序, 有了它,AKS的客户就可以利用Azure原生的Application Gateway以L7负载均衡的方式对外发布他们运行在AKS内的软件和服务。

前面的我们已经给大家介绍了AKS中的Ingress选项,并且也带着大家一起配置了AGIC,那今天我们就来看下如何使用AGIC以HTTP的形式发布AKS群集内的应用吧

先决条件

若想使用AGIC以HTTP的形式对外发布AKS群集内的应用,需要满足如下先决条件:

  • 一个启用了AGIC的AKS群集
  • 一个配置解析到AGIC的公网域名
部署应用程序

满足了上述先决条件以后我们就需要向AKS内部署一个实例的应用程序,本次我们以NGINX为例进行部署。

编写yaml文件,部署NGINX Pod和Service,具体如下所示:

apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
protocol: TCP

---

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

yaml编写好以后,使用 kubectl apply -f 进行部署:

使用AGIC发布AKS应用-HTTP_AGIC

部署完成以后可以使用kubectl get pod和kubectl get svc进行查看,可以看到资源已经部署成功:

使用AGIC发布AKS应用-HTTP_Azure Kubernetes_02


通过AGIC发布服务

部署好了应用以后,我们就需要编写Ingress的yaml文件来通过Application Gateway发布我们的应用程序,Ingress的yaml文件如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
rules:
- host: demo.cloudmsp.club
http:
paths:
- path:
backend:
service:
name: nginx
port:
number: 80
pathType: Prefix

使用kubectl apply -f 部署Ingress:

使用AGIC发布AKS应用-HTTP_Application Gateway_03

部署成功,我们可以通过kubectl get ingress查看部署情况:

使用AGIC发布AKS应用-HTTP_AGIC_04


测试访问

配置好以后,我们可以测试下访问,首先可以ping下demo.cloudmsp.club的域名是否正确解析到了我们的服务地址,可以看到域名解析正常:

使用AGIC发布AKS应用-HTTP_Application Gateway_05

接下来我们可以通过浏览器访问进行测试,可以看到已经能够正常的访问到我们的web应用啦:

使用AGIC发布AKS应用-HTTP_Application Gateway_06

虽然现在已经可以正常访问到我们的应用服务了,但是细心的小伙伴可能会发现一个问题,就是我们浏览器上提示不安全,这是因为我们是以HTTP 的形式对外提供的服务,这种方式时没有进行证书加密的,所以在安全层面会存在一定的安全隐患。那么在后续的实验中,我们会带着大家一起看下如何以HTTPS的形式对外发布我们的应用服务。

举报

相关推荐

0 条评论