如何解决通过Azure Kubernetes群集上的公共IP公开Python应用程序的简单方法
我已经使用Terraform在AKS上部署了K8s集群。我无法公开与LoadBalancer一起使用的Python服务。以下是我的文件;
集群信息:
Kubernetes版本:1.19.0
正在使用的云:Azure
安装方法:Terraform
deployment.yml
apiVersion: v1
kind: Namespace
metadata:
name: identity
namespace: default
---
apiVersion: v1
kind: Service
metadata:
name: identity-svc
namespace: default
labels:
name: identity-svc
env: dev
app: identity-svc
annotations:
service.beta.kubernetes.io/azure-load-balancer-resource-group: MC_identity-k8s-rg_identity-k8s-aks_westeurope
spec:
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: 8000
selector:
app: identity-svc
---
apiVersion: v1
data:
.dockerconfigjson: 50aXR5MngwIn19fQ...
kind: Secret
metadata:
creationTimestamp: null
name: acr-secret
namespace: default
type: kubernetes.io/dockerconfigjson
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: identity-deploy
namespace: default
labels:
name: identity-app
spec:
replicas: 1
selector:
matchLabels:
app: identity-svc
template:
metadata:
namespace: default
labels:
app: identity-svc
spec:
imagePullSecrets:
- name: acr-secret
containers:
- name: identityservice
image: identityservice.azurecr.io/identityservice:${{ github.run_id }}
env:
- name: SECRET_KEY
value: ${secrets.SECRET_KEY}
- name: ALLOWED_HOSTS
value: ${secrets.ALLOWED_HOSTS}
- name: DATABASE_HOST
value: ${secrets.DATABASE_HOST}
- name: DEBUG
value: true
resources:
requests:
cpu: 0.5
memory: "500Mi"
limits:
cpu: 2
memory: "1000Mi"
ports:
- containerPort: 8000
name: http
imagePullPolicy: Always
restartPolicy: Always
service.yml
apiVersion: v1
kind: Service
metadata:
name: identity-svc
namespace: default
labels:
name: identity-svc
env: dev
app: identity-svc
spec:
selector:
app: identity-svc
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 8000
name: http
当我检查kubectl日志时,我看到pod,服务,端点按预期运行。但是,如下所示的外部IP无法加载Python应用。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
identity-svc LoadBalancer 10.0.145.221 51.105.173.89 80:31723/TCP 95m
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 134m
我在这里想念什么?我看到的唯一奇怪的是以下内容;
admin@Azure:~$ nslookup identity-svc
Server: 168.63.129.16
Address: 168.63.129.16#53
** server can't find identity-svc: NXDOMAIN
我的最终目标是将我的应用暴露在外部IP上进行测试。
我也尝试实现nginx入口,您可以看到有关该here
的帖子非常感谢您的帮助,如果需要,我们很乐意提供其他信息。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。