码头工人笔记25-k8s-service资源

  

  ,,,服务是要通过coreDNS来管理的仓。   
  

  

  ,,,kube-proxy始终监视着apiserver,获取与服务资源的变动状态,一旦发现有服务资源发生变动,kube-proxy都要把它转变为当前节点之上的,能够实现服务资源调度,包括将客户端资源调度到豆荚的规则(iptables或者ipv)。   
  

  

  ,,服务工作模式有三种:用户空间(k8 1.1版本之前),iptables (k8 1.10版本之前)和ipv (k8 1.11版本之后)   

  

  ,,,用户空间模型:用户空间模型.k8s 1.11版本用ipv了,这个比iptables效率高。   
  

  

  码头工人笔记25-k8s-service资源”>
  </p>
  <前>
  (root@master  ~) #, kubectl  get  svc
  NAME ,,,,,,,, TYPE ,,,,,,, CLUSTER-IP ,,,,,, EXTERNAL-IP ,,港口(S),,,,,,,,的年龄
  kubernetes ,, ClusterIP ,, 10.96.0.1 ,,,,,,, & lt; none>,,,,,,,, 443/TCP ,,,,,,, 16 d
  redis ,,,,,,,,,, ClusterIP  10.106.138.181 ,, & lt; none>,,,,,,,, 6379/TCP ,,,,,, 23 h
  </>之前
  <前>
  (root@master  ~) #, kubectl  delete  svc  redis 
  service “redis"删除
  </>之前
  <p>
  ,,,注意kubernetes这服务千个万别删,因为美丽都是通过10.96.0.1这个地址联系的。
  </p>
  <前>
  (root@master  ~) #, kubectl  explain  svc
  </>之前
  <p>
  ,,,服务类型:
  </p>
  <p>
  ,,,),ExternalName:表示把集群外部的服务引入到集群内部中来,即实现了集群内部吊舱和集群外部的服务进行通信;
  </p>
  <p>
  ,,b), ClusterIP:只能在集群内部通讯;
  </p>
  <p>
  ,,,c), NodePort:可以和集群外部通讯;
  </p>
  <p>
  ,,,d), loadbalance:这个表示我们把k8部署在虚拟机上,自动在外部创建负载均衡器。比如在阿里云上,底层是LBAAS。
  <br/>
  </p>
  <h2>
  ClusterIP
  </h2>
  <p>
  ,,,以前我们使用kubectl暴露创建服务、下面我们使用清单来创建服务。
  </p>
  <前>
  (root@master 体现)#,cat  redis-svc.yaml 
  apiVersion: v1
  :服务
  元数据:
  名称:才能复述
  名称空间:才能默认
  规范:
  选择器:才能
  ,,,的应用:复述
  ,,,的作用:logstor
  ,,clusterIP: 10.97.97.97  #这个ip可以不指定,让它自动分配
  类型:才能ClusterIP
  港口:才能
  ,,安康;端口:6379年,# service  ip中的端口
  ,,,发送:,6379,#容器ip中的端口
  </>之前
  <前>
  (root@master 体现)#,kubectl  apply  -f  redis-svc.yaml 
  服务/redis 创建
  </>之前
  <前>
  (root@master 体现)#,kubectl  get  svc
  NAME ,,,,,,,, TYPE ,,,,,,, CLUSTER-IP ,,, EXTERNAL-IP ,,港口(S),,,,的年龄
  kubernetes ,, ClusterIP ,, 10.96.0.1 ,,,, & lt; none>,,,,,,,, 443/TCP ,, 16 d
  redis ,,,,,,,,,, ClusterIP  10.97.97.97 ,, & lt; none>,,,,,,,, 6379/TCP , 1米
  </>之前
  <前>
  (root@master 体现)#,kubectl  describe  svc  redis 
  名称:,,,,,,,,,,,,,复述
  名称空间:,,,,,,,,,违约
  标签:,,,,,,,,,,,,& lt; none>
  注释:,,,,,,,kubectl.kubernetes.io/last-applied-configuration={“apiVersion":“v1, 6379/TCP   发送:,,,,,,,,6379/TCP   端点:,,,,,,,,,10.244.2.65:6379 , # #这是豆荚的ip   Session 亲和力:没有   事件:,,,,,,,,,,,,& lt; none>   之前   

  资源记录:SVC_NAME.NAMESPACE_NAME.DOMAIN.LTD   
  

  

  ,集群默认后缀是svc.cluster.local   
  

  

  比如我们创建的复述,默认名称就是redis.defalut.svc.cluster.local   

  

  NodePort   
  

  

     

  <前>   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

码头工人笔记25-k8s-service资源