CKA考试知识点分享(9)---gateway api

CKA 版本:1.32

第九套题是涉及gateway api相关。

注意:本文不是题目,只是为了学习相关知识点做的实验。仅供参考

实验目的

创建一个gateway api,来实现后端镜像的外部访问。

gateway api 通过nginx实现

实验开始

安装nginx gateway

第一步 安装gateway api 资源

https://github.com/kubernetes-sigs/gateway-api/releases/tag/v1.3.0

确定资源安装完成。

第二步 安装crd

kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v2.0.0/deploy/crds.yaml

第三步 安装nginx Gateway Fabric

kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v2.0.0/deploy/default/deploy.yaml

#国内镜像下载很慢,需要等待较长时间。

检查pod

检查gc

kubectl get gc

可以看到 gc已经安装完成。

创建后端service

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: whoaim
spec:
  selector:
    matchLabels:
      app: whoaim
  replicas: 1
  template:
    metadata:
      labels:
        app: whoaim
    spec:
      containers:
      - name: whoaim
        image: docker.io/containous/whoami:v1.5.0
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: whoaim
  labels:
    app: whoaim
spec:
  ports:
  - port: 80
  selector:
    app: whoaim

验证gateway api

创建gateway

yaml 复制代码
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: nginx-gateway
spec:
  gatewayClassName: nginx
  listeners:
  - name: http
    protocol: HTTP
    port: 80

检查gateway

注意 这里创建gateway后,会在gateway所在的创建一个pod,来实现流量监控。

出现新的pod

检查,出现新的svc

注意: gateway删除后,自动生成的svc和pod都会被删除。

创建http route

yaml 复制代码
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: httproute
spec:
  parentRefs:
  - name: nginx-gateway
  hostnames:
  - "www.example.com"
  rules:
  - matches:
    - path:
        type: PathPrefix
        value: /login
    backendRefs:
    - name: whoaim
      port: 80

添加dns解析:192.168.100.41 www.example.com

访问测试:

curl www.example.com:31930/login

通过地址成功访问。

删除gateway,自动生成的pod被删除。

参考链接:

https://docs.nginx.com/nginx-gateway-fabric/install/manifests/

相关推荐
牛奶咖啡1312 小时前
k8s容器编排技术实践——使用containerd作为容器运行时部署k8s集群
kubernetes·k8s的安装部署·开启系统的ipvs支持·安装containerd·containerd配置加速器·安装k8s的工具·安装calico网络插件
2301_7807896614 小时前
手游遇到攻击为什么要用SDK游戏盾手游遇到攻击为什么要用 SDK 游戏盾?
安全·web安全·游戏·架构·kubernetes·ddos
珂玥c15 小时前
k8s集群ingress碎碎念
云原生·容器·kubernetes
佳杰云星15 小时前
如何给大模型集群选“大脑”?智算调度与管理平台 10 维选型指南(附选型评分表)
人工智能·kubernetes·大模型·云计算·gpu·算力调度·智算中心
比特森林探险记17 小时前
context 在 gRPC / Gin / K8s 中的实战
容器·kubernetes·gin
汪汪大队u18 小时前
基于 K8s 的物联网平台运维体系:Ansible+Zabbix 自动化监控与故障自愈(三)—— Zabbix Server 启动排错记
运维·kubernetes·ansible
日取其半万世不竭19 小时前
OpenCost:Kubernetes 成本监控,开源的云资源费用分析
容器·kubernetes·开源
Cat_Rocky20 小时前
k8s zabbix7学习-设置告警
学习·容器·kubernetes
云游牧者21 小时前
K8S-Ingress流量治理全解-Traefik从入门到实战完全指南
云原生·中间件·容器·kubernetes·ingress·traefik
AI云原生1 天前
容器网络模型与服务发现:从踩坑到精通,Kubernetes 网络问题排查全指南
服务器·网络·云原生·容器·kubernetes·云计算·服务发现