zoukankan      html  css  js  c++  java
  • externalIPs

    场景:AB 集群业务互相访问

    1.将运行svc的主机设置为不可调度
    2.构建svc时候用externalIPs指定运行svc的主机内网IP
    3.A B两个集群做同样的操作
    4.A B集群构建svc时候用endpoints执行需要访问的另外集群的svc主机内网IP

    demo

    启动一个nginx服务 并设置externalips

    cat nginx.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: web01
      template:
        metadata:
          name: nginx
          labels:
            app: web01
        spec:
          containers:
          - name: nginx
            image: nginx:latest
            ports:
            - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-service
    spec:
      externalIPs:
        - 192.168.1.62
      ports:
      - port: 8000
        targetPort: 80
        protocol: TCP
      selector:
        app: web01

    说明:对外的IP:192.168.1.62,把宿主机上8000端口映射到容器80端口上,走的协议为TCP,选择器选择所有属于app=web1分组的容器

      

    访问:

    新建一个endpoints svc 制定刚刚 nginx的IP 和端口

    cat protext.yaml

    apiVersion: v1
    kind: Endpoints
    metadata:
      name: prometheus
    subsets:
      - addresses:
        - ip: 192.168.1.62
        ports:
          - port: 8000
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: prometheus
    spec:
      ports:
        - port: 9090
          protocol: TCP

     kubectl get endpoints

    模拟访问(由于没有两套k8s环境 只能通过svc cluster-ip 访问)

    curl 10.103.188.149:9090

    [root@master externalIPs]# curl 10.103.188.149:9090
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
        body {
             35em;
            margin: 0 auto;
            font-family: Tahoma, Verdana, Arial, sans-serif;
        }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>

    可以看到访问10.103.188.149:9000端口就相当于访问了192.168.1.62:8000端口

  • 相关阅读:
    Struts2之Domain Model(域模型)。
    struts2接收参数的5种方法
    java泛型中特殊符号的含义
    @value取值
    Spring分页实现PageImpl<T>类
    eclipse快捷键整理
    String字符串的截取
    Java调用ASP.NET的webservice故障排除
    根据wsdl文件用soapUi快速创建webService服务(有图有真相)
    @Autowired标签与 @Resource标签 的区别
  • 原文地址:https://www.cnblogs.com/Tempted/p/14431688.html
Copyright © 2011-2022 走看看