zoukankan      html  css  js  c++  java
  • k8s的ingress使用

    ingress

      可以配置一个入口来提供k8s上service从外部来访问的url、负载平衡流量、终止SSL和提供基于名称的虚拟主机。

    配置ingress的yaml

      要求域名解析无误

      要求service对应的pod正常

    一、test1.domain.com   -->  service1:8080

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: test-ingress
      namespace: test
    spec:
      rules:
      - host: test1.domain.com
        http:
          paths:
          - backend:
              serviceName: service1
              servicePort: 8080
            path: /

     

    二、test1.domain.com   -->   /aaa   -->   service2:8080

                                             -->   /bbb   -->   service3:8080

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: test-ingress
      namespace: test
    spec:
      rules:
      - host: test1.domain.com
        http:
          paths:
          - backend:
              serviceName: service1
              servicePort: 8080
            path: /aaa
          - backend:
              serviceName: service2
              servicePort: 8080
            path: /bbb

    三、test1.domain.com   -->  service1:8080

      test2.domain.com   -->  service4:8080

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: test-ingress
      namespace: test
    spec:
      rules:
      - host: test1.domain.com
        http:
          paths:
          - backend:
              serviceName: service1
              servicePort: 8080
      - host: test2.domain.com
        http:
          paths:
          - backend:
              serviceName: service4
              servicePort: 8080

     

    四、test1.domain.com   -->  service1:8080

      没在request中定义主机名(即没有显示请求头)的请求   -->   service5:8080

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: test-ingress
      namespace: test
    spec:
      rules:
      - host: test1.domain.com
        http:
          paths:
          - backend:
              serviceName: service1
              servicePort: 8080
      - http:
          paths:
          - backend:
              serviceName: service5
              servicePort: 8080

    五、https://test1.domain.com   -->  service1:8080

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: test-ingress
      namespace: test
    spec:
      rules:
      - host: test1.domain.com
        http:
          paths:
          - backend:
              serviceName: service1
              servicePort: 8080
      tls:
      - hosts:
        - test1.domain.com
        secretName: domain-tls  #证书见下

      证书yaml

    apiVersion: v1
    data:
      tls.crt: cert(base64)  #转码见下
      tls.key: key(base64)
    kind: Secret
    metadata:
      name: domain-tls
      namespace: test
    type: kubernetes.io/tls

      base64转码

    cat fullchain.pem | base64 | tr '
    ' ' ' | sed s/[[:space:]]//g   #中间去掉换行和空格
    cat privkey.pem | base64 | tr '
    ' ' ' | sed s/[[:space:]]//g

    六、nginx中的设置,在ingress是通过annotations来配置的

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: test-ingress
      namespace: test
      annotations:
        nginx.ingress.kubernetes.io/proxy-connect-timeout: "600s"
        nginx.ingress.kubernetes.io/proxy-read-timeout: "600s"
        nginx.ingress.kubernetes.io/proxy-send-timeout: "600s"
    spec:
      rules:
      - host: test1.domain.com
        http:
          paths:
          - backend:
              serviceName: service1
              servicePort: 8080
            path: /

    详细ingress链接https://kubernetes.io/docs/concepts/services-networking/ingress/

    ingress中annotations的配置选项https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md

  • 相关阅读:
    Android AHandle AMessage
    android java 与C 通过 JNI双向通信
    android 系统给应用的jar
    UE4 unreliable 同步问题
    UE4 difference between servertravel and openlevel(多人游戏的关卡切换)
    UE4 Run On owing Client解析(RPC测试)
    UE4 TSubclassOf VS Native Pointer
    UE4 内容示例网络同步Learn
    UE4 多人FPS VR游戏制作笔记
    UE4 分层材质 Layerd Materials
  • 原文地址:https://www.cnblogs.com/chy-op/p/10566657.html
Copyright © 2011-2022 走看看