K8S简历(八)

前面把Pod看的差不多了今天开始弄service,service在K8S集群中就像黑暗街道上的指路灯,告诉你Pod的方向(因为Pod是有生命周期的,所以Pod的IP是不固定的只能通过service帮你转发信息)。service也有很多类型如:ExternalName, ClusterIP, NodePort,LoadBalancer。

service类型:

  1. ClusterIP:service默认类型,作为node内部使用的service。
  2. NodePort:可以把Node内部的Pod服务映射到Node节点上,从而实现外部可以访问内部服务。
  3. LoadBalancer: 使用一个ClusterIP & NodePort,但是会向云计算提供者申请映射到service本身的负载均衡。
  4. ExternalName:通过kube-dns让内部服务可以访问外部资源。

ClusterIP资源清单编写:

例子:

apiVersion: v1
kind: service
metadata:
  name: www-clusterip
  namespace: default
spce:
  selector:
    app: nginx
    version: v2.2
  clusterIP: 10.99.99.99
  type: clusterIP
  ports:
    - port: 80
      targetPort: 80
#clusterIP可以不用设置让系统自动分配也建议这样。
#ports字段中的port:service使用的端口号。targetPort:Pod端口号。

启动service:

kubectl apply -f nginx-clusterip.yaml

注:还有一个比较特殊的ClusterIP是clusterIP字段的值为“None”时service是没有IP的,但你解析service主机名时又会发现他能解析出他管理的Pod IP。

NodePort资源清单编写:

例子:

apiVersion: v1
kind: service
metadata:
  name: nginx-nodeport
  namespace: default
spce:
  selector:
    app: nginx
    version: v3.2
  type: NodePort
  sessionAffinity: ClientIP
  ports:
    port: 80
    targetPort: 80
    nodePort: 30080
#nodePort:把service内部的Pod 80端口映射到节点上的30080端口上。
#sessionAffinity:访问者第一次访问那个Pod以后就一直访问这个Pod。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • kubernetes Service 参考文献:https://blog.csdn.net/watermelonb...
    码二哥阅读 7,432评论 1 5
  • 1.Pod Pod是k8s的最基本的操作单元,包含一个或多个紧密相关的容器,类似于豌豆荚的概念。一个Pod可以被一...
    jony456123阅读 12,187评论 0 5
  • 什么是service pod不是永恒存在的,pod会随时被创建,同时pod也会被随时销毁(运行出错,超过资源限制等...
    AlienPaul阅读 4,643评论 0 4
  • Service Service是一种抽象的对象,它定义了一组Pod的逻辑集合和一个用于访问它们的策略,一个Seri...
    祁恩达阅读 13,760评论 0 0
  • 1. Service 为何存在 Pod的生命是有限的,如果Pod重启IP很有可能会发生变化。如果我们的服务都是将P...
    Anson前行阅读 19,312评论 0 7

友情链接更多精彩内容