我是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 ingress项目,我的集群是使用kubeadm创建的,其中包含3个节点nginx ingress
我首先运行了强制命令
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml当我尝试点击jenkins.xyz.com时,当我尝试命令时,它不起作用
kubectl get inging资源未获得分配给它的IP地址
发布于 2019-06-30 16:30:49
入口资源只是反向代理( Ingress controller)的配置。
Ingress没有获得分配的IP地址是正常的。
您需要做的是连接到入口控制器实例。
为此,您需要了解它们在集群中是如何公开的。
考虑到您声称用来运行入口控制器的YAML,没有向外部网络公开的迹象。
您至少需要定义一个Service来公开您的控制器(如果您放置集群的提供者支持它,则可能是一个负载均衡器),您可以使用HostNetwork: true或NodePort。
要使用最新选项(NodePort),您可以应用以下YAML:
我建议您阅读Ingress文档页面,以便更清楚地了解所有这些东西是如何工作的。
https://kubernetes.io/docs/concepts/services-networking/ingress/
发布于 2019-07-01 21:56:12
为了进行访问,您需要创建本地Kubernetes集群PODs NodePort。NodePort将使用其公网IP和端口在每个节点上发布您的服务。然后,您可以使用任意集群IP和分配的端口访问服务。
在Kubernetes中定义NodePort

apiVersion: v1
kind: Service
metadata:
name: nginx-service-np
labels:
name: nginx-service-np
spec:
type: NodePort
ports:
- port: 8082 # Cluster IP, i.e. http://10.103.75.9:8082
targetPort: 8080 # Application port
nodePort: 30000 # (EXTERNAL-IP VirtualBox IPs) i.e. http://192.168.50.11:30000/ http://192.168.50.12:30000/ http://192.168.50.13:30000/
protocol: TCP
name: http
selector:
app: nginx 在Building a Kubernetes Cluster with Vagrant and Ansible (without Minikube)上查看完整的示例和源代码。
如果您想从以下服务网格架构中获益,也可以使用Istio替换nginx入口控制器:
之间的网络流量
参见Installing Istio in Kubernetes under VirtualBox (without Minikube)。
https://stackoverflow.com/questions/56815727
复制相似问题