.net core i上 K8S(七).netcore程序的服务发现

上一章我们分享了k8s的网络代理模式,今天我们来分享一下k8s中的服务发现。

1.环境变量模式的服务发现

k8s默认为我们提供了通过环境变量来实现服务发现的功能,前提是

  1.需要service在pod之前创建

  2.适用于同一命名空间

1.1创建service

[[email protected] ~]# 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

1.2创建pod

[[email protected] ~]# 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

1.3验证

查看环境变量

我们再以相同的方式再创建一组pod+service

[[email protected] ~]# 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"
[[email protected] ~]# 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互通

原文地址:https://www.cnblogs.com/chenyishi/p/10129093.html

时间: 2024-08-29 23:23:22

.net core i上 K8S(七).netcore程序的服务发现的相关文章

.net core i上 K8S(四).netcore程序的pod管理,重启策略与健康检查

上一章我们已经通过yaml文件将.netcore程序跑起来了,但还有一下细节问题可以分享给大家. 1.pod管理 1.1创建pod kubectl create -f netcore-pod.yaml 我们创建一个netcore-pod.yaml文件,内容如下: apiVersion: v1 kind: Pod #指明类型 metadata: name: netcore-pod labels: app: netcorepod spec: containers: - name: netcorepo

.net core i上 K8S(三)Yaml文件运行.netcore程序

上一章我们通过kubectl run简单运行了一个.netcore网站,但实际的开发中,我们都是通过yaml来实现的. 1.编写yaml文件 关于yaml文件的格式在此就不多描述了,不熟悉的可以去网上搜一下示例. apiVersion: apps/v1beta2 #指定版本,支持的版本可以通过kubectl api-versions查询 kind: Deployment #指定类型,这一次我们要创建一个Deployment metadata: #元数据 name: cys-netcore #de

.net core i上 K8S(一)集群搭建

1.前言 以前搭建集群都是使用nginx反向代理,但现在我们有了更好的选择——K8S.我不打算一上来就讲K8S的知识点,因为知识点还是比较多,我打算先从搭建K8S集群讲起,我也是在搭建集群的过程中熟悉了K8S的一些概念,希望对大家有所帮助.K8S集群的搭建难度适中,网上有很多搭建k8s的教程,我搭建的过程中或多或少遇到一些问题,现在就把我总结完的教程给大家总结一下.这里主要讲通过二进制包安装K8S 2.集群组件介绍 节点 ip 组件 master 192.168.8.201 etcd:存储集群节

【树莓派】在树莓派上制作开机自启动程序及服务2

有朋友说根据这个文章实践时候有问题,可能之前中间有过个更新,但是忘了更新博文,在这里我把目前最新的贴一下. /etc/init.d/sendtooss: sendtooss服务: #!/bin/sh ### BEGIN INIT INFO # Provides: sendtooss # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Required-Start: $local_fs # Required-Stop: # chkconfig: 123

k8s之服务发现

一.概述 k8s中支持两种服务发现方法: 环境变量和DNS 二.环境变量 当Pod被创建的时候,k8s将为Pod设置每一个Service的相关环境变量,这些环境变量包括两种类型: k8s Service环境变量: k8s为Service设置的环境变量形式, 包括: {SVCNAME}_SERVICE_HOST {SVCNAME}_SERVICE_PORT {SVCNAME}_SERVICE_PORT_{PORTNAME} 其中的服务名和端口名转为大写,连字符转换为下划线. Docker Link

36氪上的这七家程序员网站你都了解吗?

我始终相信程序员交付的不是代码,是价值,所以在万众创新下程序员成了最受伤的群体,36氪上的好的项目举不胜举,但是真正为程序员服务的都有哪些呢?让我们一起来看一下. 1,程序员在囧途(http://www.jtthink.com/) 程序员在囧途是中国新兴IT实训教育平台,由<失业的程序员>图书作者沈逸发起,专门为怀才不遇的.迷茫在IT囧途中的程序员所开设在线教育平台. 2,程序员联合开发网(http://www.pudn.com/ ) 作为一个老程序员网站,积累了大量用户和资源,现在是大发展的

Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践

原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践 环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建一个asp.netcore项目 步骤略(一路next),当然你也可以用命令行创建. 1.2 发布项目 在项目路径下执行命令 dotnet publish –c release 先本地运行是否有问题,减少因为本

Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二) Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装Nginx.参考网址 3.1.1:添加Nginx存储库 要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令: sudo yum install epel-release EPEL的全称叫 Ex

Kubernetes初探[1]:部署你的第一个ASP.NET Core应用到k8s集群

转自:https://www.cnblogs.com/RainingNight/p/first-aspnetcore-app-in-k8s.html Kubernetes简介 Kubernetes是Google基于Borg开源的容器编排调度引擎,作为CNCF(Cloud Native Computing Foundation)最重要的组件之一,它的目标不仅仅是一个编排系统,而是提供一个规范,可以让你来描述集群的架构,定义服务的最终状态,Kubernetes可以帮你将系统自动得达到和维持在这个状态