此篇文章主要介绍如何创建阿里云ACK集群,并部署简单的应用,通过域名进行访问
在阿里云控制平台创建ACK集群,负载均衡架构为ALB Ingress

确认完配置,等待创建

所有创建过程结束后,如下图

通过workbench管理集群:

创建测试应用
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-app namespace: default spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 ports: - containerPort: 80 resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "256Mi" cpu: "200m"
|
apiVersion: v1 kind: Service metadata: name: nginx-service namespace: default spec: selector: app: nginx ports: - port: 80 targetPort: 80 type: ClusterIP
|
部署之后


创建 ALB Ingress 规则
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nginx-alb-ingress namespace: default annotations: alb.ingress.kubernetes.io/switch: "true" alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]' alb.ingress.kubernetes.io/certificate-ids: "your-cert-id" alb.ingress.kubernetes.io/rewrite-target: / alb.ingress.kubernetes.io/healthcheck-path: "/" alb.ingress.kubernetes.io/healthcheck-interval-seconds: "2" alb.ingress.kubernetes.io/healthy-threshold-count: "3" spec: ingressClassName: alb rules: - host: www.jsonjsonstart.dpdns.org http: paths: - path: / pathType: Prefix backend: service: name: nginx-service port: number: 80
|

查看创建的ingress
alicloud:/# kubectl get ingress nginx-alb-ingress NAME CLASS HOSTS ADDRESS PORTS AGE nginx-alb-ingress alb www.jsonjsonstart.dpdns.org 80 104s
|
查看 ALB 控制台

访问测试
C:\Users\admin>curl -H "Host: www.jsonjsonstart.dpdns.org" http://alb-n2uzltobvzhbr32cq4.cn-hangzhou.alb.aliyuncsslb.com C:\Users\admin>curl -H "Host: www.jsonjsonstart.dpdns.org" http://47.97.243.72/ --resolve www.jsonjsonstart.dpdns.org:80:47.97.243.72
|
将上面的DNS记录配置到自己的域名
由于我这里有一个空闲未使用的域名:jsonjsonstart.dpdns.org,然后到cloudflare平台设置dns记录

最后通过浏览器访问

由于该域名是免费申请的,未在国内备案,所以提示如上,但是验证应用访问是没有问题的
当然域名配置最好配置https:alb.ingress.kubernetes.io/certificate-ids: “your-cert-id”,去阿里云证书管理平台创建或者使用免费的证书机构cert-manager