docker - 使用Docker Desktop时如何修改 `nodePort`范围?

标签 docker kubernetes docker-for-windows docker-desktop

我尝试打开 nodePort 80/443,但失败了,因为它超出了默认的 nodePort 范围。

解决方案是将 - --service-node-port-range 选项添加到静态 pod kube-apiserver-docker-desktop。但是如何在 Windows 上使用 Docker Desktop 修改静态 pod?我试图直接编辑此 pod 但失败了。

kubectl edit pod kube-apiserver-docker-desktop -n kube-system

最佳答案

您需要运行一个特权 docker 容器:

$ docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh

然后在这里编辑 kubernetes 配置:

$ vi /etc/kubernetes/manifests/kube-apiserver.yaml

在列表中添加命令行参数以及您需要的端口:

        - --service-node-port-range=80-36000

这个 StackOverflow 问题解释了如何处理:

Location of Kubernetes config directory with Docker Desktop on Windows

关于docker - 使用Docker Desktop时如何修改 `nodePort`范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61791269/

相关文章:

docker - 如何将变量从.env文件传递给Docker?

docker - 无法从 minikube docker 中提取镜像

docker - 构建一个可以执行npm任务的Web应用

kubernetes - 如何使用导出网络策略允许访问 kubernetes api?

python - 将共享 dockerfile 用于多个 dockerfile

Docker推送EOF错误

docker - 从容器访问 docker 远程 API

docker - 如何在运行docker daemon中查看日志信息?

visual-studio - 如何从 Visual Studio ASP.NET Web API 应用程序禁用 Docker?

python - 为什么我的Python脚本不能使用Docker运行?