首页 > 其他分享 >kubenetes service服务发现两种方式

kubenetes service服务发现两种方式

时间:2022-10-28 10:36:55浏览次数:35  
标签:两种 service -- nginx4 kubenetes pod 8000 port

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+暴露的端口进行负载均衡的访问

 

标签:两种,service,--,nginx4,kubenetes,pod,8000,port
From: https://www.cnblogs.com/yangzp/p/16834967.html

相关文章

  • c# asp.net core 6 配置文件与ServiceCollection的使用
    一、引包1.Microsoft.Extensions.Configuration2.Microsoft.Extensions.Configuration.Json3.Microsoft.Extensions.Configuration.Binder4.Microsoft.Extensions.Depe......
  • 解决:DeprecationWarning: executable_path has been deprecated, please pass in a Se
    参考了网上已有的资料,原因是因为:driver=webdriver.Chrome({PathofChromeDrive})填写了路径之后,会出现报错的情况;解决方法:fromselenium.webdriver.chrome.service......
  • 求两数组交集的两种算法
    //方法一:用哈希表的思路,将数组转换为对象varintersect1=function(nums1,nums2){  letobj={},arr=[];  for(leti=0;i<nums1.length;i++){......
  • Service超时导致应用ANR问题记录
    需求:需要机器在第一次开机后,后台执行Service拷贝文件到机器的另一个目录Bug描述:发现拷贝不全,有一部分文件没有拷贝,抓取日志分析:10-1508:27:49.39116691669DTXZ......
  • kubeSphere+kubenetes 集群更新证书
    模拟问题点使用kubernetes时错误提示yang@master:~$ kubectlgetnodesUnabletoconnecttotheserver:x509:certificatehasexpiredorisnotyetvalid:curre......
  • GET和POST两种基本请求方法的区别
    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过requestbody传递参数。 你可能......
  • k8s-Service
    一、背景通过pod控制器Deployment创建的一组Pod来提供具有高可用性的服务。虽然每个Pod都会分配一个单独的PodIP,然而却存在如下两问题:pod重建后,pod的ip会发生变化po......
  • Istio ServiceEntry
    ServiceEntry介绍ServiceEntry用于将未能自动添加至网格中的服务,以手动形式添加至网格中,以使得网格内的自动发现机制能够访问或路由到这些服务未能自动添加至网格中的......
  • Android使用AccessibilityService
    介绍AccessibilityService设计初衷在于帮助残障用户使用android设备和应用,在后台运行,可以监听用户界面的一些状态转换,例如页面切换、焦点改变、通知、Toast等,并在触发Acc......
  • John Deere Service Advisor Software v5.3
    JohnDeereServiceAdvisoristheDiagnosticKitthatallowsuserstoperformdiagnosticforserviceofagricultural,construction,andforestryequipment.Wit......