gpt4 book ai didi

kubernetes - Nginx入口无法服务

转载 作者:行者123 更新时间:2023-12-02 12:15:42 26 4
gpt4 key购买 nike

我是k8s的新手
我有一个下面的部署文件

apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins-deployment
spec:
replicas: 3
selector:
matchLabels:
component: web
template:
metadata:
labels:
component: web
spec:
containers:
- name: jenkins
image: jenkins
ports:
- containerPort: 8080
- containerPort: 50000


我的服务文件如下:
apiVersion: v1
kind: Service
metadata:
name: jenkins-svc
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 8080
name: http
selector:
component: web


我的入口文件是
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: jenkins-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: jenkins.xyz.com
http:
paths:
- path: /
backend:
serviceName: jenkins-svc
servicePort: 80



我正在使用nginx入口项目,并且我的集群是使用具有3个节点的kubeadm创建的
nginx ingress

我首先运行了强制性命令
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml

当我尝试打jenkins.xyz.com时,它不起作用
当我尝试命令
  kubectl get ing

ing资源没有获得分配给它的IP地址

最佳答案

入口资源只不过是反向代理的配置(Ingress controller)。

没有为Ingress分配IP地址是正常的。

您需要做的是连接到入口 Controller 实例。

为此,您需要了解它们如何在群集中公开。

考虑到您声称用于运行入口 Controller 的YAML,因此没有暴露于外部网络的迹象。

您至少需要定义一个Service来公开您的 Controller (如果放置群集的提供程序支持它,则可以成为负载平衡器),可以使用HostNetwork: trueNodePort

要使用最新选项(NodePort),可以应用以下YAML:

https://github.com/kubernetes/ingress-nginx/blob/master/deploy/static/provider/baremetal/service-nodeport.yaml

建议您阅读Ingress文档页面,以更清楚地了解所有这些工作原理。

https://kubernetes.io/docs/concepts/services-networking/ingress/

关于kubernetes - Nginx入口无法服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56815727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com