.net core i上 K8S(七).netcore程序的服务发现
上一章我们分享了k8s的网络代理模式,今天我们来分享一下k8s中的服务发现。
1.环境变量模式的服务发现
k8s默认为我们提供了通过环境变量来实现服务发现的功能,前提是
1.需要service在pod之前创建
2.适用于同一命名空间
1.1创建service
[root@localhost ~]# cat netcore-service.yaml
apiVersion: v1
kind: Service
metadata:
name: netcore-service
labels:
app: netcore
spec:
ports:
- name: http
protocol: TCP
port:
targetPort:
nodePort:
selector:
app: cys-netcore
type: NodePort
kubectl create -f netcore-service.yaml
1.2创建pod
[root@localhost ~]# cat netcore.yaml
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: cys-netcore
spec:
replicas:
selector:
matchLabels:
app: cys-netcore
template:
metadata:
labels:
app: cys-netcore
spec:
containers:
- name: cys-netcore
image: chenyishi/webdocker_s_provider
ports:
- containerPort:
env:
- name: serverpo
kubectl create -f netcore.yaml
1.3验证

查看环境变量

我们再以相同的方式再创建一组pod+service
[root@localhost ~]# cat netcore2.yaml
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: cys-netcore2
spec:
replicas:
selector:
matchLabels:
app: cys-netcore2
template:
metadata:
labels:
app: cys-netcore2
spec:
containers:
- name: cys-netcore2
image: chenyishi/webdocker_s_provider
ports:
- containerPort:
env:
- name: serverport
value: ""
[root@localhost ~]# cat netcore-service2.yaml
apiVersion: v1
kind: Service
metadata:
name: netcore-service2
labels:
app: netcore2
spec:
ports:
- name: http
protocol: TCP
port:
targetPort:
nodePort:
selector:
app: cys-netcore2
type: NodePort
kubectl create -f netcore-service2.yaml
kubectl create -f netcore2.yaml

查看env

我们进入容器,调用一下第一个service

至此,我们证明了可以通过env使service互通
.net core i上 K8S(七).netcore程序的服务发现的更多相关文章
- .net core i上 K8S(四).netcore程序的pod管理,重启策略与健康检查
上一章我们已经通过yaml文件将.netcore程序跑起来了,但还有一下细节问题可以分享给大家. 1.pod管理 1.1创建pod kubectl create -f netcore-pod.yaml ...
- .net core i上 K8S(六).netcore程序的service网络代理模式
上一章我们讲了pod的hostip模式,但在生产环境中,我们都是通过service来访问k8s集群的,service有两种模式来暴漏端口,今天我们来分享一下 1.clusterIP模式 我们在创建se ...
- .net core i上 K8S(五).netcore程序的hostip模式
上一章讲了pod的管理,今天再分享一个pod的访问方式 1.Pod的HostIP模式 Pod的HostIP模式,可以通过宿主机访问pod内的服务,创建yaml文件如下 apiVersion: v1 k ...
- .net core i上 K8S(二)运行简单.netcore程序
上一章我们搭建了k8s集群,这一章我们开始在k8s集群上运行.netcore程序 1.kubectl run 在我的Docker系列教程里,我曾往docker hub中推送过一个镜像“webdokce ...
- .net core i上 K8S(三)Yaml文件运行.netcore程序
上一章我们通过kubectl run简单运行了一个.netcore网站,但实际的开发中,我们都是通过yaml来实现的. 1.编写yaml文件 关于yaml文件的格式在此就不多描述了,不熟悉的可以去网上 ...
- .net core i上 K8S(一)集群搭建
1.前言 以前搭建集群都是使用nginx反向代理,但现在我们有了更好的选择——K8S.我不打算一上来就讲K8S的知识点,因为知识点还是比较多,我打算先从搭建K8S集群讲起,我也是在搭建集群的过程中熟悉 ...
- .NET Core微服务之路:基于gRPC服务发现与服务治理的方案
重温最少化集群搭建,我相信很多朋友都已经搭建出来,基于Watch机制也实现了出来,相信也有很多朋友有了自己的实现思路,但是,很多朋友有个疑问,我API和服务分离好了,怎么通过服务中心进行发现呢,这个过 ...
- k8s之服务发现
一.概述 k8s中支持两种服务发现方法: 环境变量和DNS 二.环境变量 当Pod被创建的时候,k8s将为Pod设置每一个Service的相关环境变量,这些环境变量包括两种类型: k8s Servic ...
- prometheus k8s服务发现
Prometheus的服务发现在解决什么问题? 被监控的目标(target)是整个监控体系中重要组成部分,传统监控系统zabbix通过 网络发现的机制自动创建主机到zabbix-server,进而快速 ...
随机推荐
- leetcode477
public class Solution { public int TotalHammingDistance(int[] nums) { , n = nums.Length; ; j < ; ...
- django admin 中实现word文档下载
为了实现此功能,需要用到的知识点: (1)django admin 自定义字段: 参考:http://www.cnblogs.com/wumingxiaoyao/p/6928297.html ...
- tornado 之 异步非阻塞
异步非阻塞 1.基本使用 装饰器 + Future 从而实现Tornado的异步非阻塞 import tornado.web import tornado.ioloop from tornado im ...
- 【312】◀▶ arcpy 常用函数说明
其他常用的 ArcPy 函数说明 序号 类名称 功能说明 语法 & 举例 01 RefreshActiveView ====<<<< Description ...
- bootstrap-select.js 下拉框多选后动态赋值
话不多说先上demo 其实demo是从官网下载的 只稍作改动 由于没有搞清楚怎么上传源代码 就把官网的链接贴出来吧 https://github.com/silviomoreto/bootstrap- ...
- 使用Windows绘图合成多张图
[使用Windows绘图合成多张图] 1.点击图片右键选择打开方式→选择画图工具打开图片. 2.这时图片可以改变外框大小,将外框尽量弄大些. 3.点击编辑选中下拉菜单中的粘贴来源,选择需要增加进来的图 ...
- shell if,case,for,while语法
#shell if的语法 if [空格 xxx 空格] then echo xxxxx exit 1/2/3/4/.... 0表示正确. elif [空格 xxx 空格] then echo xxxx ...
- android-tip-SocketException之ETIMEDOUT
异常出现时间 如果我们有一个长连接,此时网络被关闭,或者暂时失去信号, 此时就会出现此异常. 如果出现此异常,则不得不重连.
- ubuntu tensorflow cpu Faster-RCNN配置参考
https://blog.csdn.net/qq_36652619/article/details/85006559 (参考) https://blog.csdn.net/zcy0xy/art ...
- dos中的延迟环境变量扩展
一.前言 昨天在写bat脚本的时候,发现在for里面的set命令竟然不起作用!于是搜了一下,前面的几篇都有说到这个是变量扩展的问题,但是什么是变量扩展?为什么会出现这种问题,什么又是延迟环境变量扩展? ...