kubernetes service服务发现两种方式
service服务发现ClusterIP方式
1.暴露deployment服务
kubectl expose deployment nginx4 --port=8000 --target-port=80 等同于 kubectl expose deployment nginx4 --port=8000 --target-port=80 --type=ClusterIP service/nginx4 exposed
说明:
expose 暴露端口
deployment 暴露给谁
--port=8000 暴露的端口
--target-port=80 目标pod的开放端口
2.查看开放的service发现
kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 13d nginx4 ClusterIP 10.96.226.218 <none> 8000/TCP 13s
3.删除service服务发现
Kubectl delete svc 服务名
4.测试,集群内任意机器访问service IP,三个pod就会负载均衡的调用
yang@k8s-master:~$ curl 10.96.226.218:8000 3333 yang@k8s-master:~$ curl 10.96.226.218:8000 2222 yang@k8s-master:~$ curl 10.96.226.218:8000 1111
5.查看pod标签
kubectl get pod --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx4-db67c7b65-6tszx 1/1 Running 1 23h app=nginx4,pod-template-hash=db67c7b65 nginx4-db67c7b65-ndq8f 1/1 Running 1 23h app=nginx4,pod-template-hash=db67c7b65 nginx4-db67c7b65-vrkk9 1/1 Running 1 23h app=nginx4,pod-template-hash=db67c7b65
说明:每个pod都有一个标签,访问时会通过查找pod中app=nginx4的标签,同时service会将一组pod暴露成对外的统一服务,以后只需要通过serviceIP+端口就可以负载均衡的访问service内的所有pod,并且具备服务发现能力,不管是pod上线或者下线,都会自动加入到service中。
域名访问方式(只能在pod内,主机上是不能访问的):
服务名.所在名称空间.svc:端口
curl nginx4.default.svc:8000
=========================================================================
service服务发现NodePort方式
yang@k8s-master:~$ kubectl expose deployment nginx4 --port=8000 --target-port=80 --type=NodePort service/nginx4 exposed yang@k8s-master:~$ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 14d nginx4 NodePort 10.96.16.194 <none> 8000:31833/TCP 12s

说明:
此部署方式,三台机器任意一台都可以使用公网IP+暴露的端口进行负载均衡的访问
kubernetes service服务发现两种方式的更多相关文章
- Linux 服务管理两种方式service和systemctl
Linux 服务管理两种方式service和systemctl 1.service命令 service命令其实是去/etc/init.d目录下,去执行相关程序 # service命令启动redis脚本 ...
- kubernetes创建资源的两种方式
一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令行的方式直接创建,比如: kubectl run httpd-app --image ...
- centos7下kubernetes(6。kubernetes创建资源的两种方式)
两种方式:1.命令:2.配置文件 之前我们在部署K8S的时候分别用到了命令和配置文件创建K8s资源: 1.命令方式:kubectl run nginx-deployment --image=nginx ...
- Linux 启动、关闭、重启服务的两种方式
1.一种是可以使用service脚本来调度,如: service 服务名 startservice 服务名 stopservice 服务名 restart 2.第二种可以直接进入/etc/init.d ...
- Dynamics CRM 非声明验证方式下连接组织服务的两种方式的性能测试
今天看了勇哥的博文"http://luoyong0201.blog.163.com/blog/static/1129305201510153391392/",又认识到了一种新的连接 ...
- Windows 安装服务 的两种方式
第一种 - 安装服务时自定义服务名称:(注意 binpath= 和路径之间的那个空格)sc create 服务名称 binpath= "D:\Service.exe" di ...
- Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务
The command chkconfig is no longer available in Ubuntu.The equivalent command to chkconfig is update ...
- Kubernetes基础_Service暴露的两种方式
一.前言 kubernetes集群中,pod是多变的,可以被新建或删除,而且ip不稳定,不方便集群外部访问,所以提供了一种新的资源 Service ,就是就是 a set of Pod ,作用是提供一 ...
- Android四大组件之服务的两种启动方式详解
Service简单概述 Service(服务):是一个没有用户界面.可以在后台长期运行且可以执行操作的应用组件.服务可由其他应用组件启动(如:Activity.另一个service).此外,组件可以绑 ...
- springcloud 服务调用的两种方式
spring-cloud调用服务有两种方式,一种是Ribbon+RestTemplate, 另外一种是Feign.Ribbon是一个基于HTTP和TCP客户端的负载均衡器,其实feign也使用了rib ...
随机推荐
- Ubuntu 安装 office
推荐安装 LibreOffice wget https://free.nchc.org.tw/tdf/libreoffice/stable/7.4.3/deb/x86_64/LibreOffice_7 ...
- 手把手教你写Dockerfile以及测试
Dockerfile是什么? dockerfile就是用来构建docker镜像的构建文件,命令参数脚本. 如何使用Dockerfile? 1.编写一个Dockerfile文件 2.docker bui ...
- ES中的内置对象--jquery如何优化代码,少用$进行查找,减少查找次数的方法
- 电脑微信小程序抓包
电脑微信小程序抓包 在渗透的过程中,对于网站找不出什么漏洞的时候我们就可以,对目标进行小程序和公众号漏洞的发掘 0x01 设置微信代理使用Burp抓取数据包 发现我们抓取的数据包很多都是乱码 Prox ...
- 如何使用 JuiceFS 创建 WebDAV 共享
WebDAV 是一种基于 HTTP 的文件共享协议,最初被设计用于多用户文档协作编辑的场景,也被广泛应用在基于互联网的文件存储.数据同步等网盘类应用场景. 手机端和 PC 端有大量的应用内置了对 We ...
- mvn引用本地包
<dependency> <groupId>jna</groupId> <artifactId>jna</artifactId> <s ...
- Rust 闭包与生命周期
- Mybatis获取插入值的ID
需求: 在后台做多次插入的时候,需要使用返回ID,然而普通的操作是无法做到的 Mybatis可以在insert的标签 上加上 keyProperty='id' useGeneratedKeys=&qu ...
- Makefile常用命令
# 下面用来定义变量并赋值 # := 和 = 一样的吗? # 这里?=代表如果变量已经赋值了,不要重新赋值,而是保留原来的值 CROSS_COMPILE ?= arm-linux-gnueabihf- ...
- java基础(非常简单)
java javaSE 注释: block块级 line 行 标识符和关键字 组成部分.变量名.类名.方法名--------标识符 $\数字._\字母 数据类型 强类型语言---安全性高--速度会慢 ...