zoukankan      html  css  js  c++  java
  • .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: 1001
        targetPort: 1000
        nodePort: 31111
      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: 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

    [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互通

  • 相关阅读:
    springcloud之consul
    git学习创建项目仓库
    学习vue之路V1.0.0
    使用jquery+ajax+php实现搜索框的功能
    发现一个vue的UI组件库
    一个菜鸟用webpack-vue.js编译过程碰到的坑~~!!
    学习vue之路
    typescript入门
    计算机排序算法
    js中三种变量的声明方式const ; var ; let
  • 原文地址:https://www.cnblogs.com/chenyishi/p/10129093.html
Copyright © 2011-2022 走看看