文档章节

k8s之Headless Service

xiaomin0322
 xiaomin0322
发布于 2018/03/08 12:22
字数 231
阅读 1.8W
收藏 0

k8s之Headless Service

1. Headless Service

see: Headless services

headless service 需要将 spec.clusterIP 设置成 None。

因为没有ClusterIP,kube-proxy 并不处理此类服务,因为没有load balancing或 proxy 代理设置,在访问服务的时候回返回后端的全部的Pods IP地址,主要用于开发者自己根据pods进行负载均衡器的开发(设置了selector)。

2. Test Headless Service With selectors

$cat deployment.yaml

apiVersion: extensions/v1beta1

kind: Deployment

metadata:

  name: nginx-deployment

spec:

  replicas: 2 # tells deployment to run 2 pods matching the template

  template: # create pods using pod definition in this template

    metadata:

      # unlike pod-nginx.yaml, the name is not included in the meta data as a unique name is

      # generated from the deployment name

      labels:

        app: nginx_test

    spec:

      containers:

      - name: nginx

        image: nginx:1.7.9

        ports:

        - containerPort: 80

$ cat headless_service.yaml

kind: Service

apiVersion: v1

metadata:

  name: nginx-service

spec:

  selector:

    app: nginx_test

  ports:

    - protocol: TCP

      port: 80

      targetPort: 80

  clusterIP: None

通过dns访问,会返回后端pods的列表

登录到Cluster的内部pod

nslookup nginx-service

nslookup: can't resolve '(null)': Name does not resolve

 

Name:      nginx-service

Address 1: 10.10.23.36

Address 2: 10.10.23.39

本文转载自:http://www.do1618.com/archives/1055

xiaomin0322

xiaomin0322

粉丝 151
博文 4069
码字总数 216267
作品 2
上海
架构师
私信 提问
加载中

评论(0)

kubernetes 实践五:Service详解

Service 是 k8s 的核心概念,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上。 Service 的定义 Service YAML格式的定...

xingyys
2019/10/10
0
0
k8s~k8s里的服务Service

k8s用命名空间把资源进行隔离,默认情况下,相同的命名空间里的服务可以相互通讯,反之进行隔离。 服务Service 1.1 Service Kubernetes中一个应用服务会有一个或多个实例(Pod,Pod可以通过r...

张占岭
2019/12/17
0
0
[K8s]Eureka上K8s集群

Spring Cloud 强上云 系列之 eureka 迁移 故事前奏 前阵子忽然一个需求砸了过来,一忙就是两星期。写bug,挖坑忙的不亦乐乎。这几天军哥一直在群里一直大呼: 你们要输出,要有声音啊。正好今天...

morpheusWB
2019/07/24
291
2
从零开始入门 | Kubernetes 中的服务发现与负载均衡

作者 阿里巴巴技术专家 溪恒 一、需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的...

阿里巴巴云原生
2019/11/26
40
0
kubernetes 权威指南学习笔记(2) -- 基本概念和术语

基本概念和术语 Master&Node Kubernetes 集群的两种管理角色: Master 和 Node Master Master 只的是集群控制节点,每个集群需要一个检点来负责整个集群的管理和控制。 基本上所有控制命令都...

solate
2019/04/12
43
0

没有更多内容

加载失败,请刷新页面

加载更多

比特币实时行情应用实战【Swift代码】

在这篇文章中,我们将学习如何利用websocket开发一个可以实时接收并显示比特币/Bitcoin价格行情的Swift应用。 先看一下我们最终的成果: 比特币开发相关链接: Java比特币对接教程 C#比特币对...

区块链教程
28分钟前
34
0
__getattr__和__getattribute__之间的区别

我试图了解何时使用__getattr__或__getattribute__ 。 提及__getattribute__的文档适用于新型类。 什么是新型类? #1楼 这只是基于Ned Batchelder的解释的示例 。 __getattr__示例: class ...

技术盛宴
31分钟前
25
0
Tesseract.js (JavaScript OCR) 识别1D条形码下面的数字

在做条形码识别的时候,有可能碰到条形码因为被破坏,无法识别的情况。通常1D条形码的下面都印着对应的数字。这个时候还可以借助下OCR。虽然OCR的成功率可能不高,但是多一种识别方法也是好的...

yushulx
35分钟前
40
0
解决MySQL不能有两个CURRENT_TIMESTAMP

背景 Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause MySQL5.5的版本, 在建表的时候如果同时有两个字段是t......

项昂之
36分钟前
40
0
ubuntu虚拟机用KVM制作Openstack镜像

1. 环境 Windows 10主机一台安装VMware 15安装ubuntu镜像18.04在VMware虚拟机,处理器选项,勾选CPU虚拟化 2. unbutn安装 kvm sudo apt-get updatesudo apt-get install qemu-kvmsudo...

萌萌哒的小萝卜
39分钟前
37
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部