当前位置: 移动技术网 > IT编程>开发语言>.net > .net core i上 K8S(六).netcore程序的service网络代理模式

.net core i上 K8S(六).netcore程序的service网络代理模式

2018年12月18日  | 移动技术网IT编程  | 我要评论

失控 鬼策,北京整容医院排行榜,陈礼顺

我们讲了pod的hostip模式,但在生产环境中,我们都是通过service来访问k8s集群的,service有两种模式来暴漏端口,今天我们来分享一下

1.clusterip模式

我们在创建service的时候,默认创建的时clusterip模式,clusterip模式的特点是只能在node节点上访问,创建方法如下:

1.1首先创建deployment

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: serverport
          value: "1000"

1.2创建service,并指定clusterip(不指定也可以,会自动随机分配)

注意:clusterip设置须按照集群搭建时指定的范围设置,我们查看一下我们制定的范围

可以看到范围是10.10.10.1~10.10.10.255,编写yaml文件如下

apiversion: v1
kind: service
metadata:
  name: netcore-service
  labels:
    app: netcore
spec:
  ports:
  - name: http
    protocol: tcp
    port: 1001
    targetport: 1000
  clusterip: "10.10.10.10"    #指定ip
  selector:
    app: cys-netcore

可查看信息,如下

1.3验证地址

我们可以去node节点验证一下

至此clusterip介绍完毕

2.nodeport模式

我们可以看到clusterip模式只能在node节点访问,这无法满足我们的生产环境,因此我们在生产环境中都是采用nodeport模式,映射到宿主机的port,我们的deployment的yaml文件还是采用上面的,需要改一下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      #指定类型

注意:nodeport的端口号也是从集群搭建时指定的范围中设置的,不可超出范围,如下

2.1创建service

查看信息

2.2验证

访问地址http://192.168.8.202:31111/api/values

 

成功访问!!!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网