使用k8s服务进行端口代理

创建registry-service.yaml 使用无Selector的Service + Endpoints模式

vi registry-service.yaml

编辑以下内容

apiVersion: v1
kind: Service
metadata:
  name: registry-service
spec:
  type: NodePort
  ports:
    - name: http
      protocol: TCP
      port: 81            # Service内部端口
      targetPort: 81       # 必须与Endpoints端口一致
      nodePort: 32086      # 外部访问端口(30000-32767)
---
apiVersion: v1
kind: Endpoints
metadata:
  name: registry-service  # 必须与Service同名
subsets:
  - addresses:
      - ip: 10.160.10.103  # 外部服务IP
    ports:
      - name: http
        port: 81           # 外部服务端口
        protocol: TCP

代理的地址是10.160.10.103:81

kubectl apply -f registry-service.yaml
kubectl get svc registry-service
kubectl get endpoints registry-service
代理后的地址是10.160.10.103:32086,此时浏览器就可以访问了,很多因策略段不同,导致外部或者k8s集群内部无法访问,就先创建一个服务,然后就是可以进行内部互通啦。
Kubernetesk8s)中,IPVS(IP Virtual Server)是一个高性能的负载均衡器,用于在集群内部进行服务代理。如果你在使用IPVS时发现没有80端口代理规则,可能有以下几个原因和解决方法: ### 原因分析 1. **服务定义问题**: - 检查你的Kubernetes服务(Service)定义,确保端口号设置为80。你可以使用以下命令查看服务定义: ```sh kubectl get service <service-name> -o yaml ``` 2. **IPVS配置问题**: - 确保IPVS的配置正确。你可以使用以下命令查看IPVS的规则: ```sh ipvsadm -L -n ``` 3. **节点端口(NodePort)问题**: - 如果你使用的是NodePort,确保节点端口配置正确,并且防火墙允许80端口的流量。 4. **防火墙问题**: - 检查防火墙规则,确保80端口的流量没有被阻止。 5. **IPVS版本问题**: - 确保你的IPVS版本支持你所使用Kubernetes版本,并且配置正确。 ### 解决方法 1. **重新创建服务**: - 如果服务定义有问题,重新创建服务: ```sh kubectl delete service <service-name> kubectl create -f <service-definition.yaml> ``` 2. **检查IPVS配置**: - 手动添加IPVS规则,确保80端口的规则存在: ```sh ipvsadm -A -t <cluster-ip>:80 -s <scheduler> ipvsadm -a -t <cluster-ip>:80 -r <endpoint-ip>:80 -m ``` 3. **更新防火墙规则**: - 允许80端口的流量: ```sh sudo firewall-cmd --add-port=80/tcp --permanent sudo firewall-cmd --reload ``` 4. **升级IPVS**: - 如果版本问题,升级IPVS到最新版本: ```sh sudo apt-get update sudo apt-get install ipvsadm ``` ### 总结 通过以上步骤,你应该能够找到并解决k8s中IPVS代理规则没有80端口的问题。如果问题依然存在,建议查看Kubernetes和IPVS的日志以获取更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

❀͜͡傀儡师

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值