Ingress安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ingress安装相关的知识,希望对你有一定的参考价值。

参考技术A 1、有可使用的k8s集群
2、了解kubectl的基本命令(如:查看资源信息、通过yaml文件部署/删除资源)
3、掌握ingress的yaml文件编写

ingress-nginx仓库

部署文件地址
将部署文件中的镜像地址替换为dockerhub中的镜像

执行部署命令

修改你需要访问的机器的host文件,将“ k8s.pingwazi.com ”域名映射到k8s的节点上,然后在本地浏览器中输入 http://k8s.pingwazi.com/helloworld 即可

如何通过helm为安装的nginx-ingress添加静态IP

我想创建一个nginx-ingress,我可以链接到保留的IP地址。主要原因是,我想尽量减少手动步骤。目前,基础设施是使用Terraform自动设置的,但我不能让nginx-ingress使用保留的IP。我已经有nginx-ingress工作,但它创建了自己的IP地址。

根据nginx-ingress网站(https://kubernetes.github.io/ingress-nginx/examples/static-ip/),这应该是可能的。首先,应该创建一个负载均衡服务:

apiVersion: v1
kind: Service
metadata:
  name: nginx-ingress-lb
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  externalTrafficPolicy: Local
  type: LoadBalancer
  loadBalancerIP: 34.123.12.123
  ports:
  - port: 80
    name: http
    targetPort: 80
  - port: 443
    name: https
    targetPort: 443
  selector:
    # Selects nginx-ingress-controller pods
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx

但是,然后可以使用nginx-ingress-controller.yaml标志通过--publish-service文件更新IP。但是,我通过helm安装它:

helm install stable/nginx-ingress --name my-nginx --set rbac.create=true

如何在我的头盔安装(或升级)中将发布服务链接到nginx-ingress-lb。

答案

假设您的云提供商支持具有静态IP的LB(例如,AWS将为您提供CNAME而不是IP):

您必须将其设置为标记,如下所示。完成此操作后,您可以设置入口注释:kubernetes.io/ingress.class: nginx,您的入口将自动获得相同的IP地址。

helm install stable/nginx-ingress  --set controller.service.loadBalancerIP=XXXX,rbac.create=true

以上是关于Ingress安装的主要内容,如果未能解决你的问题,请参考以下文章

k8s学习-Ingress(安装模板创建删除)

minikube安装ingress

k8s nginx-ingress部署

如何通过helm为安装的nginx-ingress添加静态IP

K8S系列第十三讲:Ingress详解

Nginx-ingress安装