某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言

  • 学习建议

  • Docker命令大全
  • Kubernetes教程

    • Kubernetes(K8s)学习教程 - 前言
    • 第1章-Kubernetes集群部署
    • 第2章-便捷性设置以及集群插件的安装
    • 第3章-基础操作
    • 第4章-集群升级
    • 第5章-Pod
    • 第6章-Pod生命周期与资源限制
    • 第7章-Pod与节点
    • 第8章-控制器Deployment
    • 第9章-Deployment镜像变更和滚动更新
    • 第10章-其他控制器-以及标签表达式
    • 第11章-控制器与节点驱逐
    • 暂缓更新
    • 练习题

    • 常用命令及yaml配置

      • 常见的集群配置文件
      • kubectl

        • 还没完善好
        • 综合

        • 集群

        • 节点

        • Pod

        • 控制器Deployment

        • 水平自动扩缩HPA

        • 服务(Service)

          • kubectl expose
            • 创建服务
              • 为一个 Pod 创建服务
              • 为一个 Deployment 创建服务
            • 参数选项
              • --name选项
              • --port选项
              • --target-port选项
              • --selector选项
              • --type选项
        • 服务账户(ServiceAccount)

        • 鉴权

        • 证书和证书请求

      • kubeadm

      • ctr

      • etcd(etcdctl)

      • yaml常用配置项

      • 具有特殊作用的标签或注释

  • CKS教程

  • 云原生安全
  • Kubernetes教程
  • 常用命令及yaml配置
  • kubectl
  • 服务(Service)
carsaid
2023-11-28
目录

kubectl expose

# 创建服务

# 为一个 Pod 创建服务

kubectl expose pod <Pod名称> --name <服务名称> --port=<服务端口> --target-port=<容器端口>
1

# 为一个 Deployment 创建服务

kubectl expose deployment <控制器名称> --name <服务名称> --port=<服务端口> --target-port=<容器端口>

# 示例
kubectl expose deployment web --name svc1 --port=80 --target-port=80
1
2
3
4

# 参数选项

# --name选项

在创建服务时指定服务的名称,如果不指定该选项,则服务的名称默认与 控制器/Pod 的相同。

# --port选项

服务暴露的端口,可以根据需要随意指定。

# --target-port选项

容器开放的端口,需要根据容器的情况指定对应的端口,不能随意指定。

# --selector选项

自定义 service 根据哪些标签来追踪 Pod(和控制器类似)。被追踪的 Pod 必须同时具有全部的追踪标签(满足所有标签条件),而不是只满足其中一个标签。

kubectl expose deploy <控制器名称> --selector <键>=<值>

# 多个标签之间通过 逗号 来分隔
kubectl expose deploy <控制器名称> --selector <键1>=<值1>,<键2>=<值2>,...
1
2
3
4

# --type选项

指定服务的类型。

  • ClusterIP:默认类型,为 svc 提供一个内网 IP 地址,直接通过地址访问 svc。
  • NodePort:将 svc 映射到节点物理机之上。当外部主机请求物理机时,物理机 转发请求给 服务,服务 再转发请求给 Pod。
  • LoadBalancer:将 svc 部署为一个负载均衡器,每个 svc 都会从地址池中获得一个单独的新 IP 地址。(该选项一般适用于 具有外部负载均衡器的 云提供商)
# 会将 Pod 的 Web 服务映射到物理机的 80 端口上
kubectl expose pod nginx --port=80 --type=NodePort
1
2

学习更多

k8s-负载均衡器 (opens new window)

编辑 (opens new window)
kubectl autoscale
kubectl set sa

← kubectl autoscale kubectl set sa→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式