k8s--基础--29.3--ingress--案例

k8s–基础–29.3–ingress–案例


1、测试代理–tomcat服务

1.1、部署后端服务

1.1.1、脚本

 
vi   /root/ingress/tomcat/tomcat-demo.yaml

内容

apiVersion: v1
kind: Service
metadata:
  # service名称
  name: tomcat
  # 名称空间
  namespace: default
spec:
  # pod的标签
  selector:
    app: tomcat
    release: canary
  # 定义端口
  ports:
  - name: http-port
    targetPort: 8080
    port: 8080
  - name: ajp-port
    targetPort: 8009
    port: 8009
---
apiVersion: apps/v1
kind: Deployment
metadata:
  # Deployment名称
  name: tomcat-deploy
  # 名称空间
  namespace: default
spec:
  # 定义3个副本
  replicas: 3
  # 定义选择哪个template
  selector:
    matchLabels:
      app: tomcat
      release: canary
  # 定义模板
  template:
    metadata:
      # 定义标签
      labels:
        app: tomcat
        release: canary
    spec:
      # 定义容器
      containers:
      - name: tomcat
        image: tomcat:8.5.34-jre8-alpine   
        # 镜像拉取策略,本地有则使用本地镜像,不拉取
        imagePullPolicy: IfNotPresent 
        ports:
        - name: http-port
          containerPort: 8080
          name: ajp-port
          containerPort: 8009

1.1.2、执行

kubectl apply -f  /root/ingress/tomcat/tomcat-demo.yaml

# 查看
kubectl get svc 
kubectl get pods 


在这里插入图片描述

1.2、部署ingress

1.2.1、脚本

vi   /root/ingress/tomcat/ingress-tomcat.yaml

内容

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: tomcat
  namespace: default
  annotations:
	# # 注解信息,这里配置的是nginx类型的ingress
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  #主机域名
  - host: tomcat.feizhou.com    
    http:
      paths:
      - path:
        backend:
          # tomcat.feizhou.com  路由到 名称为tomcat的service
          serviceName: tomcat
          servicePort: 8080

1.2.2、执行

kubectl apply -f /root/ingress/tomcat/ingress-tomcat.yaml

# 查看
kubectl get Ingress 

在这里插入图片描述

1.2.3、修改本地host文件

下面的ip是k8s的master节点ip

192.168.187.154  tomcat.feizhou.com

1.2.4、浏览器访问

tomcat.feizhou.com:30080

在这里插入图片描述

2、构建TLS站点

我这里是基于 上面的 测试代理–tomcat服务,做TLS站点

2.1、操作前,验证

https://tomcat.feizhou.com:30443/

在这里插入图片描述

我们发现,请求https,是走默认的后端服务,

2.2、准备证书

在k8s的master节点操作

cd /root/ingress/tomcat

openssl genrsa -out tls.key 2048  

openssl req -new -x509 -key tls.key -out tls.crt -subj /C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=tomcat.feizhou.com

2.2、生成secret

在k8s的master节点操作

kubectl create secret tls tomcat-ingress-secret --cert=tls.crt --key=tls.key

2.3、查看secret

# 查看
kubectl get secret
# 查看详细信息
kubectl describe secret tomcat-ingress-secret

在这里插入图片描述

2.6、创建ingress

2.6.1、脚本

 
vi   /root/ingress/tomcat/ingress-tomcat-tls.yaml

内容

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-tomcat-tls
  namespace: default
  annotations:
    # 注解信息,这里配置的是nginx类型的ingress
    kubernetes.io/ingress.class: "nginx"
spec:
  tls:
  - hosts:
    - tomcat.feizhou.com
    secretName: tomcat-ingress-secret
  rules:
  - host: tomcat.feizhou.com
    http:
      paths:
      - path:
        backend:
          # tomcat.feizhou.com  路由到 名称为tomcat的service
          serviceName: tomcat
          servicePort: 8080

2.6.2、执行

# 执行
kubectl apply -f /root/ingress/tomcat/ingress-tomcat-tls.yaml
# 查看
kubectl get Ingress 

在这里插入图片描述

2.7、访问测试:

https://tomcat.feizhou.com:30443/

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值