当前位置: 首页 > news >正文

IP访问service

IP访问service

loadbalancer

[root@master30 ~11:31:02]# wget http://192.168.42.200/course-materials/softwares/stage03/metallb-0.14.8.tar.gz--2026-06-2911:37:43-- http://192.168.42.200/course-materials/softwares/stage03/metallb-0.14.8.tar.gz Connecting to192.168.42.200:80... connected. HTTP request sent, awaiting response...200OK Length:14835368(14M)[application/octet-stream]Saving to: ‘metallb-0.14.8.tar.gz’ metallb-0.14.8.tar.gz100%[======================================>]14.15M11.3MB/sin1.3s2026-06-2911:37:45(11.3MB/s)- ‘metallb-0.14.8.tar.gz’ saved[14835368/14835368][root@master30 ~11:37:45]# tar -xf metallb-0.14.8.tar.gz[root@master30 ~11:37:56]# kubectl apply -f metallb-0.14.8/config/manifests/metallb-native.yamlnamespace/metallb-system created customresourcedefinition.apiextensions.k8s.io/bfdprofiles.metallb.io created customresourcedefinition.apiextensions.k8s.io/bgpadvertisements.metallb.io created customresourcedefinition.apiextensions.k8s.io/bgppeers.metallb.io created customresourcedefinition.apiextensions.k8s.io/communities.metallb.io created customresourcedefinition.apiextensions.k8s.io/ipaddresspools.metallb.io created customresourcedefinition.apiextensions.k8s.io/l2advertisements.metallb.io created customresourcedefinition.apiextensions.k8s.io/servicel2statuses.metallb.io created serviceaccount/controller created serviceaccount/speaker created role.rbac.authorization.k8s.io/controller created role.rbac.authorization.k8s.io/pod-lister created clusterrole.rbac.authorization.k8s.io/metallb-system:controller created clusterrole.rbac.authorization.k8s.io/metallb-system:speaker created rolebinding.rbac.authorization.k8s.io/controller created rolebinding.rbac.authorization.k8s.io/pod-lister created clusterrolebinding.rbac.authorization.k8s.io/metallb-system:controller created clusterrolebinding.rbac.authorization.k8s.io/metallb-system:speaker created configmap/metallb-excludel2 created secret/metallb-webhook-cert created service/metallb-webhook-service created deployment.apps/controller created daemonset.apps/speaker created validatingwebhookconfiguration.admissionregistration.k8s.io/metallb-webhook-configuration created[root@master30 ~11:38:07]# kubectl get all -n metallb-systemNAME READY STATUS RESTARTS AGE pod/controller-6dd967fdc7-sbpkk0/1 ContainerCreating08s pod/speaker-8jl8v0/1 ContainerCreating08s pod/speaker-clhqm0/1 ContainerCreating08s pod/speaker-xj6ng0/1 ContainerCreating08s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)AGE service/metallb-webhook-service ClusterIP10.108.21.173<none>443/TCP 9s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/speaker33030kubernetes.io/os=linux 8s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/controller0/1108s NAME DESIRED CURRENT READY AGE replicaset.apps/controller-6dd967fdc71108s[root@master30 ~11:38:15]# kubectl get all -n metallb-systemNAME READY STATUS RESTARTS AGE pod/controller-6dd967fdc7-sbpkk1/1 Running081s pod/speaker-8jl8v0/1 ContainerCreating081s pod/speaker-clhqm0/1 ContainerCreating081s pod/speaker-xj6ng0/1 ContainerCreating081s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)AGE service/metallb-webhook-service ClusterIP10.108.21.173<none>443/TCP 82s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/speaker33030kubernetes.io/os=linux 81s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/controller1/11181s NAME DESIRED CURRENT READY AGE replicaset.apps/controller-6dd967fdc711181s[root@master30 ~11:39:28]# kubectl get all -n metallb-systemNAME READY STATUS RESTARTS AGE pod/controller-6dd967fdc7-sbpkk1/1 Running02m13s pod/speaker-8jl8v1/1 Running02m13s pod/speaker-clhqm1/1 Running02m13s pod/speaker-xj6ng0/1 Running02m13s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)AGE service/metallb-webhook-service ClusterIP10.108.21.173<none>443/TCP 2m14s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/speaker33232kubernetes.io/os=linux 2m13s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/controller1/1112m13s NAME DESIRED CURRENT READY AGE replicaset.apps/controller-6dd967fdc71112m13s[root@master30 ~11:40:20]# kubectl get all -n metallb-systemNAME READY STATUS RESTARTS AGE pod/controller-6dd967fdc7-sbpkk1/1 Running02m27s pod/speaker-8jl8v1/1 Running02m27s pod/speaker-clhqm1/1 Running02m27s pod/speaker-xj6ng1/1 Running02m27s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)AGE service/metallb-webhook-service ClusterIP10.108.21.173<none>443/TCP 2m28s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/speaker33333kubernetes.io/os=linux 2m27s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/controller1/1112m27s NAME DESIRED CURRENT READY AGE replicaset.apps/controller-6dd967fdc71112m27s[root@master30 ~11:40:34]# cat << 'EOF' > ippool.yamlapiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: first-pool namespace: metallb-system spec: addresses: -10.1.8.40-10.1.8.80 EOF[root@master30 ~11:40:42]# kubectl apply -f ippool.yaml配置 lay2 ipaddresspool.metallb.io/first-pool created -bash: 配置:commandnot found[root@master30 ~11:40:47]# cat << 'EOF' > L2.yamlapiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: example namespace: metallb-system EOF[root@master30 ~11:40:59]# kubectl apply -f L2.yamll2advertisement.metallb.io/example created[root@master30 ~11:41:16]# kubectl create deployment web --image=hub.laoma.cloud/library/httpd --replicas=3deployment.apps/web created[root@master30 ~11:41:51]# kubectl get pods -l app=webNAME READY STATUS RESTARTS AGE web-5885dfff8c-bxdln1/1 Running06s web-5885dfff8c-kvpd71/1 Running06s web-5885dfff8c-qhtdg1/1 Running06s[root@master30 ~11:41:57]# kubectl expose deployment web --type LoadBalancer --port=80 --target-port=80 -o yaml --dry-run=client > service-LoadBalancer.yaml[root@master30 ~11:42:08]# vim service-LoadBalancer.yaml[root@master30 ~11:42:40]# kubectl apply -f service-LoadBalancer.yamlservice/web created[root@master30 ~11:42:47]# kubectl get serviceNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)AGE mysql ClusterIP10.107.178.96<none>3306/TCP 66m web LoadBalancer10.110.43.4310.1.8.4080:32556/TCP 5s wordpress NodePort10.105.189.207<none>80:31968/TCP 58m[root@master30 ~11:42:52]# curl -s http://10.1.8.40:80<html><body><h1>It works!</h1></body></html>

金丝雀发布

[root@master30 ~14:06:58]# mkdir web[root@master30 ~14:32:37]# echo hello nginx 1.28 > web/index28.html[root@master30 ~14:32:54]# echo hello nginx 1.29 > web/index29.html[root@master30 ~14:33:09]# kubectl create configmap web --from-file=./webconfigmap/web created[root@master30 ~14:33:20]# kubectl get configmaps web -o yaml |grep ^data -A4 data: index28.html: | hello nginx 1.28 index29.html: | hello nginx 1.29-bash: hello:commandnot found -bash: hello:commandnot found grep: data:: No suchfileor directory grep: index28.html:: No suchfileor directory[root@master30 ~14:33:38]# kubectl describe configmap webName: web Namespace: services Labels:<none>Annotations:<none>Data====index28.html: ---- hello nginx1.28index29.html: ---- hello nginx1.29BinaryData====Events:<none>[root@master30 ~14:35:00]# vim webapp-1.28.yaml[root@master30 ~14:37:03]# vim webapp-1.28.yaml[root@master30 ~14:37:41]# kubectl apply -f webapp-1.28.yamldeployment.apps/web-28 created[root@master30 ~14:37:50]# vim webapp-svc.yaml[root@master30 ~14:38:17]# kubectl apply -f webapp-svc.yamlservice/web configured[root@master30 ~14:38:24]# kubectl get svcNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)AGE mysql ClusterIP10.107.178.96<none>3306/TCP 4h2m web ClusterIP10.110.43.43<none>80/TCP 175m wordpress NodePort10.105.189.207<none>80:31968/TCP 3h53m[root@master30 ~14:38:33]# kubectl delete svc mysql wordpressservice"mysql"deletedservice"wordpress"deleted[root@master30 ~14:38:54]# kubectl get svcNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)AGE web ClusterIP10.110.43.43<none>80/TCP 176m[root@master30 ~14:38:57]# vim webapp-1.29.yaml[root@master30 ~14:39:20]# kubectl apply -f webapp-1.29.yamldeployment.apps/web-29 created[root@master30 ~14:39:30]# for i in {1..50}; do curl -s 10.110.43.43; done | sort -n|uniq -c46hello nginx1.284hello nginx1.29[root@master30 ~14:40:10]# kubectl scale deployment web-28 --replicas 3deployment.apps/web-28 scaled[root@master30 ~14:40:25]# kubectl scale deployment web-29 --replicas 5deployment.apps/web-29 scaled[root@master30 ~14:40:35]# for i in {1..50}; do curl -s 10.110.43.43; done | sort -n|uniq -c20hello nginx1.2830hello nginx1.29
http://www.jsqmd.com/news/1113515/

相关文章:

  • 机器学习工程师能力进阶指南:你的“段位”到哪一级了?
  • .Net Framework时代的三层架构到 .NET 8 现代 Web API:面向高并发的系统演进思维
  • Kiran-Screensaver DBus接口详解:实现系统级屏幕管理
  • AI论文智能摘要系统:分层流水线工程实践
  • 别再往框架源码里塞逻辑了!Hermes Hooks 钩子一招搞定安全拦截与日志审计
  • 大数据仪表盘技术架构与性能优化实战
  • 图表返工不再内耗,okbiye 一站式 AI 科研绘图,覆盖全学科论文配图需求
  • Agent-Core 核心能力落地与场景化应用指南
  • ros2解决FrameAttachedToGraph error
  • Data-Centric AI:数据健康度诊断与落地实践指南
  • 三星手机照片转移至 U 盘的 3 种简单方法
  • 论文党的开挂装备!好用的一键生成论文工具,逻辑优化超轻松
  • PaddleOCR部署方式全对比:API、网页版与本地Docker/C++实战选型指南
  • GPU算力解决方案全图谱——三大路线、代表平台与混合部署策略
  • Python计算机毕设之基于 Python 的畅联智购智能购物推荐平台设计与实现 基于 Python 的畅联智购进销存电商管理系统(完整前后端 代码+说明文档+LW,调试定制等)
  • JAVA 八股文 第五章(元空间替代永久代)
  • 卡梅德生物科普:CD74 (MHC II类分子恒定链) 的双重角色机制解析
  • 【保姆级教程】IBIS模型从0到1:Windows+VMware环境搭建与9章系统实战
  • Open Claw 结合淘宝高级商品 API,5 分钟搭建自动化监控选品系统(完整 Python 代码)
  • Web 渗透身份验证测试 —— Burp 用户名枚举 + 登录字典攻击实战心得
  • 配音工具怎么选?2026 五款主流 AI 配音工具中立横评
  • PLC I/O点表如何管理?
  • 不换设备、不停车改造,怎么把救护车上的那几分钟抢回来?
  • OpenClaw龙虾:新一代AI智能助手安装体验报告
  • 从 MySQL 到 TiDB:某世界 500 强地产公司的物业 ERP 降本增效实录
  • 开源商城系统对比:CRMEB vs shopXO vs mall4j vs tigshop横向评测
  • AI大模型开发知识
  • CVE-2022-44645漏洞复现
  • 多商户商城系统哪家好?从商家入驻到分账结算的四个核心判断
  • 从碎片到永恒:如何将微信对话转化为你的个人数字传记