k8s 部署ingress

news/2025/3/10 10:17:17/文章来源:https://www.cnblogs.com/pgyLang/p/18761983

k8s 部署ingress

在 Kubernetes (k8s) 中部署 Ingress 主要涉及以下步骤:


1. 确保集群环境

  • 确保 Kubernetes 集群已安装并正常运行 (kubectl get nodes 查看节点状态)。
  • 确保有 kubectl 配置正确 (kubectl get pods -A 检查所有 Pod 状态)。
  • 确保已安装 Ingress Controller(Nginx Ingress 是常用的选项)。

2. 安装 Ingress Controller

Kubernetes 默认的 Ingress 只是 API 对象,实际处理流量需要一个 Ingress Controller,比如 Nginx Ingress Controller

方法 1:使用 Helm 安装 Nginx Ingress Controller

如果使用 Helm,可以通过以下命令安装:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install my-ingress ingress-nginx/ingress-nginx -n ingress-nginx --create-namespace

检查 Ingress Controller 是否成功部署

kubectl get pods -n ingress-nginx
kubectl get svc -n ingress-nginx
  • 你应该看到 ingress-nginx-controller 运行中,并且 service/ingress-nginx-controller 可能有一个 EXTERNAL-IP

方法 2:使用官方 YAML 部署

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml

验证部署

kubectl get pods -n ingress-nginx
kubectl get svc -n ingress-nginx

如果 EXTERNAL-IP 显示 <pending>,说明 Kubernetes 需要一个 LoadBalancer(裸机环境可用 Metallb)。


3. 部署应用 Service

先创建一个简单的 Nginx 应用,并暴露为 ClusterIP 类型的 Service:

apiVersion: apps/v1
kind: Deployment
metadata:name: my-nginxlabels:app: nginx
spec:replicas: 2selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:latestports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:name: nginx-service
spec:selector:app: nginxports:- protocol: TCPport: 80targetPort: 80type: ClusterIP

应用该 YAML 配置

kubectl apply -f nginx-deployment.yaml

验证 Service

kubectl get svc

应该能看到 nginx-service 运行中。


4. 创建 Ingress 规则

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: nginx-ingressannotations:nginx.ingress.kubernetes.io/rewrite-target: /
spec:ingressClassName: nginxrules:- host: myapp.localhttp:paths:- path: /pathType: Prefixbackend:service:name: nginx-serviceport:number: 80

应用 Ingress 规则

kubectl apply -f nginx-ingress.yaml

检查 Ingress

kubectl get ingress

应该会看到 ADDRESS 绑定的 Ingress 入口 IP。


5. 访问 Ingress

如果你的集群是 Minikube 或者裸机环境,可能需要手动修改 /etc/hosts

sudo echo "192.168.49.2 myapp.local" >> /etc/hosts

然后,在浏览器访问 http://myapp.local,你应该能看到 Nginx 页面。


6. (可选) 配置 HTTPS (TLS 证书)

如果需要 HTTPS,可以使用 cert-manager 申请证书,或者手动创建 TLS 证书:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: nginx-ingress
spec:ingressClassName: nginxtls:- hosts:- myapp.localsecretName: myapp-tlsrules:- host: myapp.localhttp:paths:- path: /pathType: Prefixbackend:service:name: nginx-serviceport:number: 80

然后创建 myapp-tls 证书 Secret。


总结

  1. 安装 Ingress Controller(推荐使用 Helm)。
  2. 部署应用 Service,确保应用可以在 ClusterIP 访问。
  3. 创建 Ingress 规则,定义基于域名或路径的路由规则。
  4. 访问 Ingress 入口 IP,测试服务是否正常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/896699.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio 2022下载与安装

1、安装包 扫描下方二维码关注「软知社」,后台回复【066】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程解压下载安装包,双击Setup.exe安装,弹窗安装对话框点击下一步默认,点击下一步选择安装目录,建议选择C盘之外,点击下一步点击安装安装完成,点击下一…

Adobe Photoshop 2025下载与安装

‌Photoshop 2025的安装环境要求主要包括操作系统、处理器、内存、显卡、显示器分辨率和硬盘空间等方面的具体要求。‌ 操作系统要求‌Windows‌:支持Windows 10(版本21H2)或更高版本,不支持Windows的长期服务版(LTSC)。处理器要求‌Windows‌:支持64位的多核Intel或AMD…

Capture one 2023下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【061】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程(建议关闭杀毒软件和系统防护)解压下载安装包,双击软件安装,弹窗安装对话框选择中文,点击确定选择‘我同意。’ 点击下一步选择安装目录,建议C盘之外…

S3FT选择性自监督微调:通过智能选择训练样本提升大模型整体表现

选择性自我监督微调(Selective Self-to-Supervised Fine-Tuning,S3FT)是一种创新的大语言模型微调方法,该方法通过部署专门的语义等价性判断器来识别训练集中模型自身生成的正确响应。在微调过程中,S3FT策略性地结合这些正确响应与剩余样本的标准答案(或其释义版本)来优…

20242935 2024-2025-2 《网络攻防实践》第二周作业

20242935 2024-2025-2 《网络攻防实践》第二周作业 网络信息收集技术 一、实验要求 (1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式 该域名对应IP地址 IP地址注册人及联系方式 IP地址所在国家、城市和具体地理…

Xmanager 8下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【059】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程(建议关闭杀毒软件与本地防护设置)双击Xmanager-8.0.0055r.exe安装,弹窗安装对话框点击下一步选择‘我接受。。’,点击下一步选择安装目录D盘,点击下一…

Xftp 8软件下载与安装教程

Xftp 8中文版是一款十分强大、传输快速的FTP文件传输工具,它拥有着十分庞大的用户群体,其凭借着简单的界面、便捷的操作以及强大的功能,深受广大用户的好评与喜爱,当然它也是许许多多专业人士的必备工具之一。 由于Xftp 8是基于MS windows平台的STP和FTP传输工具,所以它不…

HarmonyOS SDK让小红书鸿蒙用户尽享原生相机的拍摄之美

小红书是深受年轻人喜爱的生活社交类社区平台,越来越多的人在小红书上分享旅行、日常、心情。近日,不少使用鸿蒙原生版小红书的细心用户已经发现,直接使用小红书拍摄照片与自己使用原相机拍摄有一样清晰美观的呈现效果。不仅如此,小红书现已支持用户直接从图库中上传动态照…

Xshell 8软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【057】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程(建议关闭杀毒软件与本地防护设置)双击Xshell-8.0.0055r.exe安装,弹窗安装对话框点击下一步选择‘我接受。。’,点击下一步选择安装目录D盘,点击下一步…

(附体验地址)大模型知识引擎:AI 助手能否助力销售技能提升?

体验地址:https://lke.cloud.tencent.com/webim_exp/#/chat/FAIMcM 腾讯云的大模型知识引擎本身定位于为企业客户及合作伙伴提供服务,因此我在探索如何最佳利用其现有功能与特点时,专注于实际应用场景的挖掘。为此,今天我搭建出了一个卖车销售话术练习助手,旨在帮助销售人…

Hyper V高级用法:优化虚拟机性能策略

在利用Hyper-V进行虚拟化部署时,优化虚拟机性能是至关重要的,这涉及到多个方面的策略和配置。以下是一些高级用法和优化策略,旨在提升虚拟机的整体性能和资源利用率:一、硬件配置优化 启用硬件虚拟化: 确保主机的CPU支持硬件虚拟化技术(如Intel VT-x或AMD-V),并在BIOS/…

Windbg初见

下载与安装在微软商店中找到Windbg即可。 这里是拼网速的时间,校园网可能有帮助。在等下载的这段时间里面我也看了一些博客,大概了解了一下windbg的用法。 不过怎么说还是得在虚拟机也下载一个,总是不能在实体机调试的。在Layout里面修改为Disassembly,这下有点od的样子了。…