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






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM