了解Kubernetes中的服务和部署

时间:2018-01-18 04:06:20

标签: azure kubernetes

我在单个yaml中创建了以下服务和pod。

我列出了以下步骤以及我对部署和服务的理解。如果我的理解是正确的,请告诉我,并指导我进行改善。

  1. 为我的Spring启动应用程序创建一个包含1个副本的部署。
  2. 容器端口为80表示需要向此容器中运行的应用程序发送请求的任何其他应用程序在端口80上发送,并且#34;群集IP"。

  3. 向外界公开8080以访问它意味着我可以使用"外部IP"来点击此服务。可以使用kubectl get svc ReferenceDataService检索此外部IP和群集IP详细信息。

  4. 服务中的目标端口确保8080上从外部世界收到的请求发布在80个集装箱端口上。

  5. Azure文件用于访问我的数据。 Pod会在其中创建/ mnt / azure。这意味着如果我在Azure文件中创建了/ A / B / C文件夹,我可以使用path / mnt / azure / A / B / C访问/ A / B / C中的文件。

  6. apiVersion: v1  
    kind: Service  
    metadata:  
    name: ReferenceDataService  
     labels:  
      run: my-rflabel  
    spec:  
      type: NodePort  
      ports:
    - port: 8080  
            targetPort: 80    
        protocol: TCP  
        name: http  
      selector:  
        run: my-rflabel  
    apiVersion: apps/v1beta1  
    kind: Deployment  
    metadata:  
      name: my-rflabel  
    spec:  
     replicas: 1  
      template:  
        metadata:  
          labels:  
            run: my-rflabel  
        spec:  
          volumes:  
          - name: lhapidatasource  
            azureFile:  
            secretName: azure-secret  
            shareName: openapidevshare  
            readOnly: false  
          containers:  
          - name: referencedata  
            image: **/referencedata:v1  
            ports:  
           - containerPort: 80  
             volumeMounts:  
          - name: lhapidatasource  
            mountPath: /mnt/azure  
    

1 个答案:

答案 0 :(得分:0)

  

2.容器端口是80意味着需要的任何其他应用程序   发送请求到在此容器中运行的应用程序发送   端口80 on"集群IP"。

是的,你是对的,k8s会与Cluster IP与其他豆荚通信。

  

3.向外界展示8080以访问它意味着我可以使用"外部IP"来点击此服务。此外部IP和群集IP   可以使用kubectl获取svc ReferenceDataService来检索detaisl。

您可以使用External IP和端口点击该服务,如下所示:

root@k8s-master-79E9CFFD-0:~# kubectl get service azure
NAME               CLUSTER-IP     EXTERNAL-IP      PORT(S)          AGE
azure              10.0.136.182   52.224.219.190   8080:31419/TCP   10m
  

4.服务中的目标端口确保8080上从外部世界收到的请求发布在80个集装箱端口上。

您有映射 k8s服务端口8080到端口80(pod)。因此,您可以使用端口8080的External IP来访问服务,以访问广告my-rflabel

  

5.Azure文件用于访问我的数据。 Pod会在其中创建/ mnt / azure。这意味着我是否创建了/ A / B / C文件夹   Azure文件torage,我可以使用路径访问/ A / B / C中的文件   的/ mnt /天青/ A / B / C

是的,您可以使用路径/mnt/azure/A/B/C来访问文件。