You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已部署K8s应用并暴露80端口,如何为Deployment添加443端口?

给Kubernetes Deployment添加443端口的分步指南

没问题,我来帮你搞定这个事儿。要给已有的Deployment补上443端口,同时确保LoadBalancer能正确转发这个端口,咱们一步步来:

步骤1:导出当前Deployment配置(可选但推荐)

先把现有Deployment的配置导到本地文件,修改起来更直观,还能留个备份:

kubectl get deployment <你的Deployment名称> -o yaml > deployment.yaml

记得把<你的Deployment名称>替换成实际的名字,比如my-web-app。

步骤2:编辑配置添加443端口

打开导出的deployment.yaml,找到spec.template.spec.containers.ports区块——这里应该已经有80端口的配置了,咱们直接加上443的条目:

ports:
  - containerPort: 80
    protocol: TCP
    name: http
  - containerPort: 443
    protocol: TCP
    name: https

注意保持YAML的缩进一致,name字段可以自定义,只要清晰好识别就行,比如用https就很直观。

步骤3:应用修改后的配置

保存文件后,用kubectl更新Deployment:

kubectl apply -f deployment.yaml

如果你嫌导出文件麻烦,也可以直接用kubectl edit deployment <你的Deployment名称>在线编辑,修改完保存后,Kubernetes会自动滚动更新你的Pod。

步骤4:更新LoadBalancer Service暴露443端口

你之前只通过LoadBalancer暴露了80端口,现在要让外部能访问443,得同步更新对应的Service:

  1. (可选)导出Service配置备份:
kubectl get service <你的Service名称> -o yaml > service.yaml
  1. 编辑service.yaml,在spec.ports里添加443端口的转发规则:
ports:
  - port: 80
    targetPort: 80
    protocol: TCP
    name: http
  - port: 443
    targetPort: 443
    protocol: TCP
    name: https

这里的port是LoadBalancer对外暴露的端口,targetPort必须和Deployment里的containerPort对应上。
3. 应用Service修改:

kubectl apply -f service.yaml

同样,也可以用kubectl edit service <你的Service名称>在线快速修改。

验证配置是否生效

等Pod滚动更新完成后,你可以用这些命令确认配置已经生效:

# 检查Deployment的端口配置
kubectl get deployment <你的Deployment名称> -o jsonpath='{.spec.template.spec.containers[0].ports}'

# 检查Service的端口配置
kubectl get service <你的Service名称> -o jsonpath='{.spec.ports}'

# 查看Pod详情确认端口已配置
kubectl describe pod <你的Pod名称>

这样操作后,你的应用就能通过LoadBalancer的443端口对外提供服务啦。

内容的提问来源于stack exchange,提问作者Jaouad ALLALI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:39:59