当前位置: 首页 > news >正文

CKA考试知识点分享(2)---ingress

CKA 版本:1.32
第二题是涉及ingress相关。本文不是题目,只是为了学习相关知识点做的实验。

1. 环境准备

需要准备一套K8S集群。

1.1 安装ingress-nginx

下载deploy文件:

wget -O controller-v1.12.2.yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.12.2/deploy/static/provider/cloud/deploy.yaml

为了应对国内镜像拉取不下来的操作,修改镜像代理(vim下操作):

:1,$s/registry.k8s.io/k8s.m.daocloud.io/g

kubectl create -f controller-v1.12.2.yaml
等待一会检查pod:
kubectl get pod -n ingress-nginx
在这里插入图片描述
检查ingressclass:
kubectl get ingressclass
在这里插入图片描述
注意 默认ingress-nginx的访问是LoadBalancer 这个是公有云的环境使用的,我们的自建环境修改svc通过nodeport进行访问。
kubectl edit -n ingress-nginx svc ingress-nginx-controller

在这里插入图片描述
访问测试
在这里插入图片描述

1.2 准备后端服务

创建一个后端服务,来接受ingress转发的流量

apiVersion: apps/v1
kind: Deployment
metadata:name: whoaim
spec:selector:matchLabels:app: whoaimreplicas: 1template:metadata:labels:app: whoaimspec:containers:- name: whoimimage: docker.io/containous/whoami:v1.5.0imagePullPolicy: IfNotPresentports:- containerPort: 80resources:limits:cpu: 2requests:cpu: 1
---
apiVersion: v1
kind: Service
metadata:name: whoaimlabels:app: whoaim
spec:ports:- port: 80selector:app: whoaim

在这里插入图片描述

2. 创建ingress

2.1 通过ip访问

创建一个ingress 策略,能够把ingressclass的svc暴露的端口转发到后端服务中。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: whoim-ingressannotations:nginx.ingress.kubernetes.io/rewrite-target: /
spec:ingressClassName: nginxrules:- http:paths:- path: /testpathpathType: Prefixbackend:service:name: whoaimport:number: 80

检查ingress
在这里插入图片描述

访问测试:
在这里插入图片描述
注意看:
访问的路径通过ingress后 ,路径从/testpath 变成了/ 是因为 nginx.ingress.kubernetes.io/rewrite-target: / 所有的请求都会变成/

我们删除注解尝试:
kubectl edit ingress whoim-ingress
在这里插入图片描述
可以看到 请求的路径带到后端了。

2.2 通过域名访问

修改ingress 策略主要添加host

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: whoim-ingressannotations:nginx.ingress.kubernetes.io/rewrite-target: /
spec:ingressClassName: nginxrules:- host: www.example.com  #域名访问http:paths:- path: /testpathpathType: Prefixbackend:service:name: whoaimport:number: 80

修改本机hosts
192.168.100.41 www.example.com

验证访问:
curl www.example.com:30351/testpath/
在这里插入图片描述

参考链接

https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/

http://www.lqws.cn/news/210853.html

相关文章:

  • 【推荐算法】推荐算法演进史:从协同过滤到深度强化学习
  • 数据结构测试模拟题(4)
  • 【Go语言基础【13】】函数、闭包、方法
  • Ubuntu 下开机自动执行命令的方法
  • C++组合
  • Deepseek基座:Deepseek-v2核心内容解析
  • 线程安全集合
  • redis主从复制
  • 计算机网络第2章(下):物理层传输介质与核心设备全面解析
  • Java高级 | 【实验六】Springboot文件上传和下载
  • 【KiCad】立创封装导入KiCad
  • 高频 PCB 技术发展趋势与应用解析
  • 热电厂中控室无线集控:高清视频监测+PLC远程操控
  • LVDS的几个关键电压概念
  • 迷宫问题(一)(C++版本)
  • MIT 6.S081 Lab 11 networking
  • PicSharp(图片压缩工具) v1.1.6
  • 平面方程在不同坐标系下的变换与平移
  • 按字典序排列最小的等效字符串
  • leetcode 3170. 删除星号以后字典序最小的字符串 中等
  • ios苹果系统,js 滑动屏幕、锚定无效
  • 【HarmonyOS 5】拍摄美化开发实践介绍以及详细案例
  • python 第二章
  • Go 标准库 encoding/gob 快速上手
  • DAY 44 预训练模型
  • 获取 OpenAI API Key
  • 解决MySQL8.4报错ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded
  • Strong Baseline: Multi-UAV Tracking via YOLOv12 with BoT-SORT-ReID 2025最新无人机跟踪
  • 数组复制--System.arraycopy
  • h5 安卓手机去掉滚动条问题