部署Ingress

本文介绍了如何在Kubernetes(k8s)环境中通过Ingress实现服务的统一入口,避免过多占用端口资源。主要步骤包括部署k8s官方版Ingress,调整DNS策略和Service类型,并解决启动时可能遇到的问题。同时,添加了IngressClass配置以确保正常运行。完成部署后,检查pod状态并验证Ingress功能。
摘要由CSDN通过智能技术生成

在k8s上部署服务的时候,我们经常通过svc暴露的端口提供对外访问,如果在k8s上部署的服务比较多的话,这样不仅不安全还会使用过多的端口资源,通过部署Ingress可以作为集群内部服务唯一的入口。
原理部分就不多说了,其原理和nginx差不多,接下来进行部署,ingress部署分为nginx官方的版本和kubernetes官方的版本,我这边是以部署k8s官方版本的ingress为主,部署ingress的yaml地址如下:

https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.64.0/deploy/static/provider/baremetal/deploy.yaml

其中改动部分如下:

1、 yaml中定义controller的deployment部分添加如下:

dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true

2、 yaml中定义controller的svc部分改动如下:

type: NodePort 改为 type: ClusterIP

3、创建的时候可能出现pod无法正常启动,报错无法获取ingressClass,在yaml中添加如下部分

apiVersion: networking.k8s.io/v1beta1
kind: IngressClass
metadata:
labels:
helm.sh/chart: ingress-nginx-3.30.0
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/version: 0.46.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: controller
name: nginx
namespace: ingress-nginx
spec:
controller: k8s.io/ingress-nginx

部署完查看下pod的状态,并curl对应的地址看看是否正常
在这里插入图片描述到此ingress部署完毕。

k8s官方介绍ingress参考地址如下:

https://kubernetes.io/zh/docs/concepts/services-networking/ingress/#ingress- %E6%98%AF%E4%BB%80%E4%B9%88

k8s官方部署的ingress地址如下:

https://kubernetes.github.io/ingress-nginx/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于k8s一键部署ingress,你可以使用ansible playbook来实现。Ansible是一个自动化工具,通过编写playbook来定义和执行一系列的任务。在这个案例中,你可以使用Ansible playbook来部署和配置Kubernetes ingress controller。 首先,你需要准备一个Ansible playbook,该playbook将包含所有必要的任务和配置来部署ingress。你可以参考中提供的k8s一键部署的Ansible playbook作为基础,并根据你的需求进行修改和调整。 接下来,你需要确保在Ansible playbook中包含了以下任务: 1. 安装和配置Kubernetes ingress controller。这可以通过使用适当的Helm chart或自定义的配置文件来实现。 2. 配置ingress规则和路由。根据你的需求,你可以定义不同的ingress规则和路由,以便将流量引导到正确的服务和Pod上。 你可以使用Ansible的Kubernetes模块来执行这些任务。通过使用适当的模块参数和配置,你可以轻松地将这些任务添加到你的playbook中。 最后,你可以运行Ansible playbook来执行部署和配置任务。根据你的环境和需求,你可以在目标主机上运行Ansible playbook来完成k8s一键部署ingress的过程。 总结起来,要实现k8s一键部署ingress,你可以使用Ansible playbook来完成部署和配置的任务。通过正确配置和执行playbook,你可以快速、方便地部署ingress并将流量正确地路由到你的Kubernetes集群中的服务和Pod上。 提供了k8s一键部署的Ansible playbook作为参考,你可以根据你的需求进行修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值