首页 > 解决方案 > 如何使用 Skaffold 转发特权端口

问题描述

如何制作Skaffold具有以下数字的转发特权/受保护/特殊端口1024?在我的skaffold.yaml我补充说:

portForward:
- resourceType: service
  resourceName: foo
  port: 80
  localPort: 80

It works fine for all unprotected ports, but in case of port 80, Skaffold automatically picks another unprotected port instead of 80.

According to the documentation Skaffold runs kubectl port-forward on each of user-defined ports, so I granted the kubectl binary the capability to open privileged ports with this command sudo setcap CAP_NET_BIND_SERVICE=+eip /path/to/kubectl.

Everything works fine when directly running kubectl port-forward services/foo 80:80, but when I run skaffold dev --port-forward it still picks another unprotected port.

I have been using Skaffold v1.28.1 with Minikube v1.22.0 on Ubuntu 20.04.

标签: kubernetesportforwardingskaffold

解决方案


skaffold我通过授予为二进制文件和二进制文件打开特权端口的能力解决了这个问题kubectl

sudo setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/kubectl;
sudo setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/skaffold;

推荐阅读