kubernetes - kubectl - 如何通过命令行将服务规范类型编辑为 LoadBalancer?
问题描述
我有一个 clusterIP 类型的 k8s 服务。我需要通过 CLI 更改以下配置
- http端口到https端口
- 端口号
- 负载均衡器的类型
有没有办法做到这一点..?
解决方案
您不能删除现有端口,但可以添加 HTTPS 端口并使用kubectl 补丁更改类型
例子:
kubectl patch svc <my_service> -p '{"spec": {"ports": [{"port": 443,"targetPort": 443,"name": "https"},{"port": 80,"targetPort": 80,"name": "http"}],"type": "LoadBalancer"}}'
如果您不想在命令行上创建 JSON,请创建一个 yaml 文件,如下所示:
ports:
- port: 443
targetPort: 443
name: "https"
- port: 80
targetPort: 80
name: "http"
type: LoadBalancer
然后做:
kubectl patch svc <my_service> --patch "$(cat patch.yaml)"
推荐阅读
- makefile - 如何在c中使用make文件创建可执行文件
- mysql - 存储过程插入查询
- docker - 使用 Nginx 对 VueJS 进行 Dockerizing 无法使用 http://localhost 访问后端应用程序
- ruby-on-rails - 错误 ActionView::Template::Error (nil:NilClass 的未定义方法“名称”)
- css - 如何在不使用 50% 检查点的情况下反转 CSS 动画
- ios - 应该如何处理特定于 iOS 版本的 UIApplicationDelegate 协议方法参数类型?
- r - 循环 R 中的 Rvest 函数
- javascript - Openlayers source.once(change) 不会更新我的多边形
- java - 如何使用 vertx:package 将资源文件添加到 fat jar
- java - 将 Kotlin MutableMap 转换为 java.util.HashMap