zoukankan      html  css  js  c++  java
  • k8s外部访问内部的service

    如果不指定Service的spec.type的值,创建的Service的类型默认为ClusterIP类型。这种类型的Service只会得到虚拟的IP和端口,只能在Kubernetes集群内部被访问。

    如果指定Service的spec.type的值为“NodePort”,创建的Service的类型默认为NodePort类型。这种类型的Service除了会得到虚拟的IP和端口,Kubernetes还会在所有Node节点上为其分配端口。分配的端口的值可以通过spec.ports[*].nodePort指定,或由Knubernetes在配置好的区间里分配(默认为30000-32767)。这种Service即可以从Kubernetes集群通过虚拟IP:端口访问,也可以从集群外部通过Node节点的IP:nodePort访问

     

    如果指定Service的spec.type的值为“LoadBalancer”,创建的Service的类型默认为LoadBalancer类型。这种类型的Service除了会得到虚拟的IP和端口,Kubernetes还会在所有Node节点上为其分配端口,然后为其开通负载均衡。这种Service即可以从Kubernetes集群通过虚拟IP:端口访问,也可以从集群外部通过Node节点的IP:nodePort访问,还可以通过负载均衡的IP访问。

     

    pyxis-controller.yaml

    apiVersion: v1

    kind: ReplicationController

    metadata:

      name: firmament-pyxis

      namespace: sky-firmament

      labels:

        app: firmament-pyxis

        version: v0.3

    spec:

      replicas: 1

      selector:

        app: firmament-pyxis

      template:

        metadata:

          labels:

            app: firmament-pyxis

            version: v0.3

        spec:

          nodeName: gprsgx11

          containers:

          - name: firmament-pyxis

            image: reg.ai.cbbscloud.com:5000/pyxis:v0.3

            imagePullPolicy: Always

            env:

               - name: KUBERNETES_URL

                 valueFrom:

                   configMapKeyRef:

                     name: config

                     key: kubernetes.url

            resources:

              limits:

                cpu: 500m

                memory: 200Mi

              requests:

                cpu: 500m

                memory: 200Mi

            ports:

            - containerPort: 8080

            volumeMounts:

              - name: kubectl-path

                mountPath: /usr/bin/kubectl

          volumes:

            - name: kubectl-path

              hostPath:

     

                path: /usr/bin/kubectl

     

    pyxis-service.yaml

    apiVersion: v1

    kind: Service

    metadata:

      name: pyxis-firmament-com

      namespace: sky-firmament

      labels:

        app: firmament-pyxis

    spec:

      selector:

        app: firmament-pyxis

      ports:

      - port: 8081

        targetPort: 8080

        nodePort: 31081

     

      type: NodePort





  • 相关阅读:
    Oracle分析函数
    oracle row_number的使用
    lru缓存测试类
    注解测试类
    lucene测试类
    SVN中检出(check out) 跟导出(export) 的区别
    Lucene原理与代码分析
    Lucene入门基础教程
    linux的less命令
    day4 大纲笔记
  • 原文地址:https://www.cnblogs.com/fangh/p/9038149.html
Copyright © 2011-2022 走看看