k8s高版本(1,28)部署NodePort模式下的ingress-nginx的详细过程及应用案例

本文主要是介绍k8s高版本(1,28)部署NodePort模式下的ingress-nginx的详细过程及应用案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
    • 环境
      • ingress安装
      • 应用案例(ingress-http案例: 基于名称的负载均衡)


前言

这个是nodeport模式下的,如果需要loadbalancer模式下的,看看博主下面以前的博客
链接: k8s学习–负载均衡器matelLB的详细解释与安装
链接: k8s学习–ingress详细解释与应用(nginx ingress controller))

环境

虚拟机

Ip主机名cpu内存硬盘
192.168.10.11master012cpu双核4G100G
192.168.10.12worker012cpu双核4G100G
192.168.10.13worker022cpu双核4G100G

版本 rockylinux9.2
已部署k8s-1.28.2

ingress安装

因为默认就是nodeport模式,所以直接通过网络路径应用配置文件即可
注: 需要VPN

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

查看pod状态

kubectl get pod -n ingress-nginx

在这里插入图片描述
如果网络不佳,可能过程会较长,耐心等待或者直接下载相关镜像皆可

应用案例(ingress-http案例: 基于名称的负载均衡)

1.创建并进入一个空目录

mkdir nginx && cd nginx

2.创建deployment控制器类型应用

vim nginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: nginxnamespace: ingress-nginx
spec:replicas: 2selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: c1image: nginx:1.20imagePullPolicy: IfNotPresent

应用yaml文件

kubectl apply -f nginx.yaml

查看pod状态

kubectl get pod -n ingress-nginx

在这里插入图片描述

3..创建service

vim nginx-service.yaml
apiVersion: v1
kind: Service
metadata:name: nginx-servicenamespace: ingress-nginxlabels:app: nginx
spec:ports:- port: 80targetPort: 80selector:app: nginx

应用yaml文件

kubectl apply -f nginx-service.yaml

查看svc是否被成功创建

kubectl get -n ingress-nginx svc

在这里插入图片描述

4.创建ingress对象

vim ingress-nginx.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: ingress-nginx                    			#自定义ingress对象名称namespace: ingress-nginxannotations:									#注解,声明ingressclass.kubernetes.io/is-default-class: "true"		#ingress控制器由标记的class作为默认class
spec:ingressClassName: nginx							#此处标记出ingressClass为nginxrules:- host: www.test.com                   			# 自定义域名http:paths:- pathType: Prefixpath: "/"backend:service:name: nginx-service     				# 对应上面创建的service名称port:number: 80

应用yaml文件

kubectl apply -f ingress-nginx.yaml

查看ingress

kubectl get ingress -n ingress-nginx

在这里插入图片描述查看ingress的详细信息

kubectl get ingress -n ingress-nginx

可以看到对应的规则及podip
在这里插入图片描述
查看podip是否一致
这条命令是查看service的服务端点列表,也就是存放他对应pod的ip

kubectl get endpoints -n ingress-nginx nginx-service

在这里插入图片描述
可以看出是一致的

为了查看轮询效果,在nginxpod中添加不一样的字母来区分
查看pod名称

kubectl get pod -n ingress-nginx

在这里插入图片描述

第一个pod

[root@k8s-master01 nginx]# kubectl exec -it -n ingress-nginx nginx-65799cd94d-qj2xx -- /bin/bash
root@nginx-65799cd94d-qj2xx:/# echo "nginx1 is running" > /usr/share/nginx/html/index.html 
root@nginx-65799cd94d-qj2xx:/# exit

第二个pod

[root@k8s-master01 nginx]# kubectl exec -it -n ingress-nginx nginx-65799cd94d-sb5m8 -- /bin/bash
root@nginx-65799cd94d-sb5m8:/# echo "nginx2 is running" > /usr/share/nginx/html/index.html
root@nginx-65799cd94d-sb5m8:/# exit

在宿主机hosts中添加解析
由于是nodeport模式,所以解析写成三个节点的哪个ip都可以,我这里就写12的ip了

192.168.10.12 www.test.com

需要注意的是,由于nodeport模式下开放的端口不固定,所以需要在域名后面加端口号
查看需要的端口号

kubectl get svc -n ingress-nginx

我这里是31868,根据自己的来
在这里插入图片描述
访问
可以看到是有轮询的效果的
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这篇关于k8s高版本(1,28)部署NodePort模式下的ingress-nginx的详细过程及应用案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090573

相关文章

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

python中各种常见文件的读写操作与类型转换详细指南

《python中各种常见文件的读写操作与类型转换详细指南》这篇文章主要为大家详细介绍了python中各种常见文件(txt,xls,csv,sql,二进制文件)的读写操作与类型转换,感兴趣的小伙伴可以跟... 目录1.文件txt读写标准用法1.1写入文件1.2读取文件2. 二进制文件读取3. 大文件读取3.1