我在单个yaml中创建了以下服务和pod。
我列出了以下步骤以及我对部署和服务的理解。如果我的理解是正确的,请告诉我,并指导我进行改善。
容器端口为80表示需要向此容器中运行的应用程序发送请求的任何其他应用程序在端口80上发送,并且#34;群集IP"。
向外界公开8080以访问它意味着我可以使用"外部IP"来点击此服务。可以使用kubectl get svc ReferenceDataService
检索此外部IP和群集IP详细信息。
服务中的目标端口确保8080上从外部世界收到的请求发布在80个集装箱端口上。
Azure文件用于访问我的数据。 Pod会在其中创建/ mnt / azure。这意味着如果我在Azure文件中创建了/ A / B / C文件夹,我可以使用path / mnt / azure / A / B / C访问/ A / B / C中的文件。
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
答案 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
来访问文件。