docker - 如何在启用 CORS 的情况下公开 Kubernetes API(Docker for Windows)
问题描述
出于内部目的,我正在构建一个仪表板应用程序。在这个仪表板中,我需要显示一些关于 Kubernetes 的信息(运行的 pod、集群等)。
我正在尝试从我的网络应用程序(从浏览器)调用我的 Kubernetes API。API的网址是http://localhost:8001/api/v1/
我在获取数据时遇到错误(不允许使用 CORS 来源)。
我在互联网上搜索了几个小时试图找到解决方案,但没有任何效果。我知道还有其他堆栈帖子提供了一些解决方案,但我不确定如何应用它。例如。:在 Kubernetes API 中启用 CORS
你们中的任何人都知道如何在 Kubernetes API(Windows 的 Docker)上允许 CORS 来源吗?
注意:我正在使用kubectl proxy
解决方案
您可以编辑 kubernetes API 服务器 yaml 文件,以使 CORS 正常工作。
添加行--cors-allowed-origins=["http://*"]参数到/etc/default/kube-apiserver或/etc/kubernetes/manifests/kube-apiserver.yaml文件,这取决于你的 kube- apiserver 配置文件位于。
spec:
containers:
- command:
- kube-apiserver
- --cors-allowed-origins=["http://*"]
重启 kube-apiserver。
然后将注释添加到服务配置到dns.alpha.kubernetes.io/external: "http://localhost:8001/api/v1/"
您的服务配置文件中并应用更改。
推荐阅读
- matplotlib - ValueError 不支持使用单字符颜色字符串作为颜色序列
- python - 处理具有不同 unicode 代码的相似字符
- elasticsearch - 在 Kibana 中搜索文本时出现“elasticsearch data”错误是什么意思?
- php - PHP Carbon diffInDays false 没有返回负数
- jmeter - 在 JMeter GUI 中加载脚本需要更多时间
- python - 使用输入有没有办法输入一个范围
- postgresql - Postgresql - 不正确的排序
- gitlab - 在 Gitlab 中改进 CSV 差异的可视化
- c# - 参数中带参数的方法
- angular - Angular 将资产文件夹移动到 Azure 存储