TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. Kubernetes
  3. 正文

Kubernetes-Ingress使用(Nginx控制器)

2024年1月15日 896点热度 0人点赞 0条评论

ingress使用

基于单主机

查看要转发的后端服务

root@k8s-master01:/stj-soft/yaml/nginx# kubectl get pod -n stj-ns
NAME                                  READY   STATUS    RESTARTS   AGE
nginx-deployment-58d6d9dd7d-bq8g2     1/1     Running   0          33s
tomcat-deployment-76c7957b44-87gcp    1/1     Running   0          51s
tomcat2-deployment-544bf7d969-g7n2v   1/1     Running   0          41s
root@k8s-master01:/stj-soft/yaml/nginx# kubectl get svc -n stj-ns
NAME              TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
nginx-stj-svc     NodePort   10.200.109.124   <none>        80:40001/TCP,443:40043/TCP   39s
tomcat-stj-svc    NodePort   10.200.219.118   <none>        8080:40011/TCP               57s
tomcat2-stj-svc   NodePort   10.200.157.17    <none>        8080:40012/TCP               47s

环境准备(编写ingress的yaml文件)--基于单主机

root@k8s-master01:~# mkdir /stj-soft/yaml/ingree-apply
root@k8s-master01:~# cd /stj-soft/yaml/ingree-apply
root@k8s-master01:/stj-soft/yaml/ingree-apply# vim ingress-single-host.yaml 
apiVersion: extensions/v1beta1                         ## kubectl explain Ingress.apiVersion查看版本
kind: Ingress
metadata:
  name: nginx-web
  namespace: stj-ns
  annotations:
    kubernetes.io/ingress.class: "nginx"               ##指定Ingres:Controller的类型
    nginx.ingress.kubernetes.io/use-regex: "true"      ##指定后面rules定义的path可以使用正则表达式
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "600" ##连接超时时间为5s
    nginx.ingress.kubernetes.io/proxy-sent-timeout: "600"    ##后端服务器回转数据超时时间,默认为60s
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"    ##后端服务器响应超时时间,默认为60s
    nginx.ingress.kubernetes.io/proxy-body-size: "50m"       ##客户端上传文件,最大大小,默认为20m
    #nginx.ingress.kubernetes.io/rewrite-target: /           ##URL重写
    nginx.ingress.kubernetes.io/app-root: /index.html
spec:
  rules: ##路由规则
  - host: www.stj.com    ##客户端访问的host的
    http:
      paths:
      - path:
        backend:
          serviceName: nginx-stj-svc          ##转发到哪一service
          servicePort: 80                     ##转发到service的端口

应用

root@k8s-master01:/stj-soft/yaml/ingree-apply# kubectl apply -f ingress-single-host.yaml 

验证

基于多主机

查看要转发的后端服务

root@k8s-master01:/stj-soft/yaml/nginx# kubectl get pod -n stj-ns
NAME                                  READY   STATUS    RESTARTS   AGE
nginx-deployment-58d6d9dd7d-bq8g2     1/1     Running   0          33s
tomcat-deployment-76c7957b44-87gcp    1/1     Running   0          51s
tomcat2-deployment-544bf7d969-g7n2v   1/1     Running   0          41s
root@k8s-master01:/stj-soft/yaml/nginx# kubectl get svc -n stj-ns
NAME              TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
nginx-stj-svc     NodePort   10.200.109.124   <none>        80:40001/TCP,443:40043/TCP   39s
tomcat-stj-svc    NodePort   10.200.219.118   <none>        8080:40011/TCP               57s
tomcat2-stj-svc   NodePort   10.200.157.17    <none>        8080:40012/TCP               47s

环境准备(编写ingress的yaml文件)--基于多主机

root@k8s-master01:/stj-soft/yaml/ingree-apply# vim ingress-multi-host.yaml 
apiVersion: extensions/v1beta1                         ## kubectl explain Ingress.apiVersion查看版本
kind: Ingress
metadata:
  name: nginx-web
  namespace: stj-ns
  annotations:
    kubernetes.io/ingress.class: "nginx"               ##指定Ingres:Controller的类型
    nginx.ingress.kubernetes.io/use-regex: "true"      ##指定后面rules定义的path可以使用正则表达式
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "600" ##连接超时时间为5s
    nginx.ingress.kubernetes.io/proxy-sent-timeout: "600"    ##后端服务器回转数据超时时间,默认为60s
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"    ##后端服务器响应超时时间,默认为60s
    nginx.ingress.kubernetes.io/proxy-body-size: "50m"       ##客户端上传文件,最大大小,默认为20m
    #nginx.ingress.kubernetes.io/rewrite-target: /           ##URL重写
    nginx.ingress.kubernetes.io/app-root: /index.html
spec:
  rules: ##路由规则
  - host: www.stj.com    ##  客户端访问的host的
    http:
      paths:
      - path:
        backend:
          serviceName: nginx-stj-svc          ##转发到哪一service
          servicePort: 80                     ##转发到service的端口
  - host: moblie.stj.com    ##  客户端访问的host的
    http:
      paths:
      - path:
        backend:
          serviceName: tomcat-stj-svc           ##转发到哪一service
          servicePort: 8080                     ##转发到service的端口
  - host: client.stj.com    ##  客户端访问的host的
    http:
      paths:
      - path:
        backend:
          serviceName: tomcat2-stj-svc          ##转发到哪一service
          servicePort: 8080                     ##转发到service的端口

应用

root@k8s-master01:/stj-soft/yaml/ingree-apply# kubectl apply -f ingress-multi-host.yaml 

验证

 

标签: 暂无
最后更新:2024年1月15日

tanghao946

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • ingress使用
    • 基于单主机
    • 基于多主机

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号