东莞南城汽车站时刻表,陈明真解放日记,最好的胶水
我们分享了k8s的网络代理模式,今天我们来分享一下k8s中的服务发现。
k8s默认为我们提供了通过环境变量来实现服务发现的功能,前提是
1.需要service在pod之前创建
2.适用于同一命名空间
[root@localhost ~]# cat netcore-service.yaml apiversion: v1 kind: service metadata: name: netcore-service labels: app: netcore spec: ports: - name: http protocol: tcp port: 1001 targetport: 1000 nodeport: 31111 selector: app: cys-netcore type: nodeport
kubectl create -f netcore-service.yaml
[root@localhost ~]# cat netcore.yaml apiversion: apps/v1beta2 kind: deployment metadata: name: cys-netcore spec: replicas: 1 selector: matchlabels: app: cys-netcore template: metadata: labels: app: cys-netcore spec: containers: - name: cys-netcore image: chenyishi/webdocker_s_provider ports: - containerport: 1000 env: - name: serverpo
kubectl create -f netcore.yaml
查看环境变量
我们再以相同的方式再创建一组pod+service
[root@localhost ~]# cat netcore2.yaml apiversion: apps/v1beta2 kind: deployment metadata: name: cys-netcore2 spec: replicas: 1 selector: matchlabels: app: cys-netcore2 template: metadata: labels: app: cys-netcore2 spec: containers: - name: cys-netcore2 image: chenyishi/webdocker_s_provider ports: - containerport: 1000 env: - name: serverport value: "1000"
[root@localhost ~]# cat netcore-service2.yaml apiversion: v1 kind: service metadata: name: netcore-service2 labels: app: netcore2 spec: ports: - name: http protocol: tcp port: 1002 targetport: 1000 nodeport: 31112 selector: app: cys-netcore2 type: nodeport
kubectl create -f netcore-service2.yaml kubectl create -f netcore2.yaml
查看env
我们进入容器,调用一下第一个service
至此,我们证明了可以通过env使service互通
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
asp.net搭建博客,使用BlogEngine.NET+MySql搭建博客
网友评论