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





  • 相关阅读:
    [py]你真的了解多核处理器吗? 了解多线程
    [py]监控内存并出图
    [py]django强悍的数据库接口(QuerySet API)-增删改查
    【Unity Shaders】Transparency —— 透明的cutoff shader
    使用GDAL库中的RPC校正问题
    celery最佳实践
    Eclipse 快捷方式 指定 固定 workspace
    java 判断是否是周末
    如何设制 select 不可编辑 只读
    golang函数可变参数传递性能问题
  • 原文地址:https://www.cnblogs.com/fangh/p/9038149.html
Copyright © 2011-2022 走看看