• kubernetes-使用Nginx配置ingress-controllers


    下载 Nginx Ingress Controller 配置文件:

    wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
    

    我下载不了,就直接拷贝过来了

    修改一下代码:

        spec:
          # wait up to five minutes for the drain of connections
          # 增加 hostNetwork: true,意思是开启主机网络模式,暴露 Nginx 服务端口 80
          hostNetwork: true
          terminationGracePeriodSeconds: 300
          serviceAccountName: nginx-ingress-serviceaccount
          nodeSelector:
            kubernetes.io/os: linux
          containers:
            - name: nginx-ingress-controller
              # 修改国内镜像
              image: quay.azk8s.cn/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
    

     查看Nginx Ingress Controller:

    kubectl get pods -n ingress-nginx -o wide
    NAME                                        READY   STATUS    RESTARTS   AGE   IP               NODE        NOMINATED NODE   READINESS GATES
    nginx-ingress-controller-8569fd8dbb-zcgsz   1/1     Running   0          42s   192.168.17.181   boke-node   <none>           <none>
    

     再部署一个服务和一个ingress看是否成功:

    配置nexus服务:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nexus
    spec:
      selector:
        matchLabels:
           name: nexus
      replicas: 1
      template:
        metadata:
          labels:
            name: nexus
        spec:
          containers:
          - name: nexus
            image: sonatype/nexus3
            ports:
            - containerPort: 8081
    ---
    apiVersion: v1
    kind: Service
    metadata:
       name: nexus
    spec:
      ports:
        - port: 8081
          targetPort: 8081
    #  # ClusterIP, NodePort, LoadBalancer
      type: ClusterIP
      selector:
        name: nexus
    

     配置ingress:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: cafe-ingress
      annotations:
        nginx.org/sticky-cookie-services: "serviceName=coffee-svc srv_id expires=1h path=/coffee"
        nginx.com/jwt-realm: "Cafe App"
        nginx.com/jwt-token: "$cookie_auth_token"
        nginx.com/jwt-key: "cafe-jwk"
    spec:
      rules:
      - host: k8s.test.com
        http:
          paths:
          - path:
            backend:
              # service名字
              serviceName: nexus
              # service端口号
              servicePort: 8081
    

     查看nexus:

    kubectl get deployments
    NAME    READY   UP-TO-DATE   AVAILABLE   AGE
    nexus   1/1     1            1           7m45s
    kubectl get service
    NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
    kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP    160m
    nexus        ClusterIP   10.102.209.21   <none>        8081/TCP   8m15s
    

    查看ingress:

    kubectl get ingress
    NAME           HOSTS          ADDRESS   PORTS   AGE
    cafe-ingress   k8s.test.com             80      6m35s
    

    我修改了一下C:WindowsSystem32driversetc 的host 添加 192.168.17.181 k8s.test.com

    进入k8s.test.com:

     就成功了

  • 相关阅读:
    .net开发微信(1)——微信订阅号的配置
    工作中EF遇到的问题
    .net Entity Framework初识1
    Razor视图
    jquery中利用队列依次执行动画
    .net找List1和List2的差集
    angularjs ng-if 中的ng-model 值作用域问题
    Spring Boot + JPA(hibernate 5) 开发时,数据库表名大小写问题
    springboot 启动排除某些bean 的注入
    angularjs 初始化方法执行两次以及url定义错误导致传值错误问题
  • 原文地址:https://www.cnblogs.com/zsifan/p/11801323.html
Copyright © 2020-2023  润新知