apiVersion: extensions/v1beta1
kind: Ingress
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/azure-load-balancer-resource-group: my-resource-group
name: myapp-svc
namespace: ui
spec:
loadBalancerIP: SOME_IP_ADDRESS
type: LoadBalancer
ports:
- port: 80
selector:
app: myapp
如何使用入口控制器本身公开UI而不创建外部LoadBalancer?
试着这样-
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/service-upstream: "true"
name: rule-name
namespace: default
spec:
rules:
- host: hostname
http:
paths:
- backend:
serviceName: frontend-service
servicePort: port-number
path: /(.*)
- backend:
serviceName: backend-service
servicePort: port-number
path: /api/(.*)
您可以使用上面定义的策略,直接在/处映射前端,并使用rewrite-target将主机名/API之类的内容映射到后端服务。
只能将前端和后端服务保留在clusterIP级别
我基本上希望通过URL从外部访问Nginx hello页面。我已经为运行kubernetes和Nginx ingress:vps的v服务器的子域创建了一个(工作)a记录。我的域名。通用域名格式 我使用以下教程在CoreOS上通过kubeadm将Kubernetes安装为单节点集群:https://kubernetes.io/docs/setup/independent/install-kubead
我对Kubernetes是新来的。我跟随Kubernetes艰难的方式从凯斯利Hightower,也是为了建立Kubernetes在Azure。现在所有的服务都启动了,运行良好。但是我不能使用负载平衡器公开流量。我试图添加类型的对象,但外部IP显示为。我需要添加入口来暴露流量。
我在RedHat EC2实例上安装了Minikube v1.3.1以进行一些测试。 由于nginx-ingress-控制器默认使用的端口已经在使用中,我正在尝试在部署中更改它们,但没有结果。有人能建议如何做吗? 如何知道端口已在使用? 当我使用命令kubectl-n kube system get deployment | grep nginx列出系统吊舱时,我得到: nginx入口控制器0/1
那么-有什么不同,我应该在什么时候使用它们?
我正在云中的AWS EKS服务上运行我的工作负载。我可以看到没有默认的入口控制器可用(因为它可用于GKE),我们必须选择第三方。 我决定使用Traefik。在跟踪文档和其他资源(像这样)之后,我觉得使用Traefik作为IngresController不会自动在云中创建LoadBalancer。我们必须手动完成它来设置所有内容。 如何使用Traefik作为Kubernetes入口,就像其他入口控制
我们正在GKE(谷歌kubernetes引擎)上运行一个API服务器。我们使用Google云endpoint和API密钥处理授权。我们将每个API密钥上的某些IP地址列为白名单。为了做到这一点,我们必须将负载平衡器转换为入口控制器,以公开我们的API服务器。IP白名单不适用于loadbalancer服务。现在,我们有一个类似以下内容的入口设置: