kubernetes service服务发现两种方式
2024-09-18 17:59:19
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+暴露的端口进行负载均衡的访问
最新文章
- Microsoft Dynamics CRM 2013 Js Odata 查询
- pureftpd安装配置[总结]
- RHEL 6.3安装(超级详细图解教程)[转载]
- h264检测是I帧还是P帧,解决录像第一帧有马赛克问题
- 对";一维最大子数组和";问题的思考(homework-01)
- Anti-Grain Geometry 概述
- zTree在Asp.Net中的使用
- 素数判定 AC 杭电
- Java学习笔记——IO操作之对象序列化及反序列化
- UVA 11111-Generalized Matrioshkas(栈)
- css3滚动效果
- shell学习指南-阅读笔记
- submit()提交表单时,显示警示框
- vue中直接修改props中的值并未给出警告,为啥?
- scrapy之多环境的选择使用
- 脚本自动部署及监控 web
- 聚簇索引(clustered index )和非聚簇索引(secondary index)的区别
- Jmeter远程测试
- 自定义TableViewCell 的方式实现自定义TableView(带源码)
- 编写带有点击特效的UIButton
热门文章
- 探究BrainSplit-集群脑裂
- c++代码实现中时间复杂度的不断优化
- vivo 自研Jenkins资源调度系统设计与实践
- Vue框架:7、Node环境搭建,Vue-cli,es6导出、导入语法,跨域问题解决方法,小练习
- 跳板攻击之:EarthWorm代理转发
- ACR2022的辩论:DMARDs在pre-RA中的作用
- ELK 一些截图
- 微信小程序分享百度网盘文件的实现思路
- spring boot 3.x 配置spring security
- Mybatis-plus中通用mapper的CRUD(增、删、改、查)操作封装BaseMapper和IService(最详细)