我可以使用LoadBalancer服务类型访问我的django应用程序部署,但我正在尝试切换到ClusterIP服务类型和ingres-nginx,但当我尝试通过主机url访问站点时,我得到了503 Service Temporally Undate。描述入口还显示错误:未找到endpoint“django-service”和
错误:未找到endpoint“默认-超文本传输协议-backend”
。我做错了什么?
这是我的服务和入口yaml:
---
apiVersion: v1
kind: Service
metadata:
name: django-service
spec:
type: ClusterIP
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: django-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: 'true'
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
spec:
tls:
- hosts:
- django.example.com
rules:
- host: django.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: django-service
port:
number: 80
ingressClassName: nginx
kubectl获得全部
$ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/django-app-5bdd8ffff9-79xzj 1/1 Running 0 7m44s
pod/postgres-58fffbb5cc-247x9 1/1 Running 0 7m44s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/django-service ClusterIP 10.233.29.58 <none> 80/TCP 7m44s
service/pg-service ClusterIP 10.233.14.137 <none> 5432/TCP 7m44s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/django-app 1/1 1 1 7m44s
deployment.apps/postgres 1/1 1 1 7m44s
NAME DESIRED CURRENT READY AGE
replicaset.apps/django-app-5bdd8ffff9 1 1 1 7m44s
replicaset.apps/postgres-58fffbb5cc 1 1 1 7m44s
描述入口
$ kubectl describe ing django-ingress
Name: django-ingress
Labels: <none>
Namespace: django
Address: 10.10.30.50
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
SNI routes django.example.com
Rules:
Host Path Backends
---- ---- --------
django.example.com
/ django-service:80 (<error: endpoints "django-service" not found>)
Annotations: nginx.ingress.kubernetes.io/force-ssl-redirect: true
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: true
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Sync 5m28s (x2 over 6m5s) nginx-ingress-controller Scheduled for sync
Normal Sync 5m28s (x2 over 6m5s) nginx-ingress-controller Scheduled for sync
我认为您忘记在服务中创建与部署的链接。
apiVersion: v1
kind: Service
metadata:
name: django-service
spec:
type: ClusterIP
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8000
selector:
app: your-deployment-name
还必须在部署中设置标签:
spec:
selector:
matchLabels:
app: your-deployment-name
template:
metadata:
labels:
app: your-deployment-name
我正试图将我的应用程序部署到运行在谷歌容器引擎中的Kubernetes。 该应用程序可以在https://github.com/industrial/docker-znc找到。 null
我正在遵循那个教程(https://www.baeldung.com/spring-boot-minikube)我想在yaml文件(simple-crud-dpl.yaml)中创建Kubernetes部署: 但是当我运行<code>时,kubectl创建了一个-f简单的crud dpl。yaml我得到: 我使用的是最新版本的库贝特: 我也在本地使用minikube,正如教程中所描述的。部署和服务前
我是K8s的新手,所以仍然试图让我的头脑周围的事情。我一直在研究部署,并能够理解它们将有多有用。但是,我不明白为什么它们不支持服务(只支持副本集和豆荚)。
使用kubernetes时,我很难理解端口是如何工作的。有三个端口有问题 我的应用程序在docker容器内侦听的端口 kubernetes配置文件中提到的端口为 部署公开为服务时的LoadBalancer端口 以上三个端口之间的关系是什么?在我当前的设置中,我在Dockerfile和kubernetes配置文件中分别提到了EXPOSE 8000和containerPort:8000。我的应用程序正
创建Azure VM时,必须将其放入云服务(新的或现有的)中。 这是否与通过Visual Studio部署Web和辅助角色时创建的Azure云服务的逻辑结构完全相同? 我可以将VS中的角色部署到通过VM创建创建的云服务中吗?我可以将VM部署到通过VS部署创建的云服务中?如果这两个都是真的,那么“独立”VM与角色VM之间的关系如何?它是否只是独立于虚拟机角色在云服务中浮动? 提前感谢!