.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,进而快速 ...
随机推荐
- leetcode384
public class Solution { private int[] nums; private Random random; public Solution(int[] nums) { thi ...
- 封装baseservice
package com.huawei.base; import java.io.Serializable;import java.util.List; public abstract class Ba ...
- 在 Golang 中使用 Protobuf
wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gztar zxvf proto ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十五周
java学习第十五周 Java的GUI界面设计,框架以及主要部件填充,归置,布局管理,在第十一章和第十二章进行了系统的学习,在这两章的知识奠基下,可以简单的构造一个GUI用户界面,在两周的学习后,可以 ...
- Excel VBA 获取按钮对象
今天给同事写了两个VBA宏,并分别把宏赋给了两个按钮. 因为两个宏都是实现在两种显示方式之间切换,于是我想除了功能的实现外,还希望在切换到其中一种方式时,按钮上面的文字也可以跟着改变,起到提示作用. ...
- VUE+WebPack实现精美Html5游戏设计:纸牌战争
- 调试bug心得
1. 忌主观主义.遇到问题,优先考虑客观排除法,按模块一一屏蔽测试排除.忌自己认为某个模块里的某个逻辑有问题,一直研究修改测试,被其他模块导致的偶然事件所干扰.通过排除法,找到震源,再解决.
- 嵌套列表的加权和 · Nested List Weight Sum
[抄题]: Given a nested list of integers, return the sum of all integers in the list weighted by their ...
- Oracle和Mysql的区别 转载
一.并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取.共享与锁定. mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他se ...
- p4051 [JSOI2007]字符加密
传送门 分析 将字符串复制一遍然后直接求sa即可 代码 #include<iostream> #include<cstdio> #include<cstring> ...