网络、负载均衡与安全

Kubernetes 入门

Frank Heilmann

Platform Architect and Freelance Instructor

更多标签与选择器

Labels(标签)

  • 附加到 Kubernetes 对象(如 Pod、Node)的键/值对
  • 可用于组织对象子集
  • 可随时修改
  • 示例:
    • environment: prod
    • app: my_cool_app
    • has_GPU: true

Selectors(选择器)

  • 通过标签识别对象
  • 示例:

    • ...    
      selector:
          environment: prod
          app: my_cool_app
      ...
      
    • ...
      nodeSelector:
        has_GPU: true
      ...
      
Kubernetes 入门

网络与 Service

Kubernetes 服务

  • 每个 Pod 都有自己的集群内 IP(网络地址)
  • 可用于 Pod 间通信
  • 但不稳定:Pod 可能随时重启并获得新 IP
  • 使用Service 绑定 Pod,提供稳定连接
Kubernetes 入门

Service 清单

Kubernetes 服务

apiVersion: v1
kind: Service
metadata:
  name: Kubernetes_Service_2
spec:
  type: ...
  selector:
    app: app2 
  ...
Kubernetes 入门

负载均衡

负载均衡

  • Kubernetes 中的负载均衡器在多个 Pod 间分配流量
  • 避免资源负载不均, 提高效率并降低响应时间

  • 例:

    • 由多个 Pod 提供同一服务
    • 负载均衡器将流量均匀分配到各 Pod
Kubernetes 入门

Kubernetes 中的负载均衡

apiVersion: v1
kind: Service
metadata:
  name: <service name>
spec:
  type: LoadBalancer
  selector:
    <key1>: <value1>
    <key2>: <value2>
  ...
  • 负载均衡器通常由 Kubernetes 提供商(云提供商)预配置
  • 无需为负载均衡器声明额外清单——会自动创建并附加到 Service
Kubernetes 入门

Ingress

Kubernetes Ingress

  • 使用 Ingress 将集群外的 HTTP/HTTPS 请求 路由到集群内的服务
  • Ingress 规则定义请求由哪个服务处理
  • 通常与负载均衡配合使用
Kubernetes 入门

Kubernetes 安全

  • 现代 IT 架构中的安全性极其重要, 但也很复杂、涉及众多方面
  • Kubernetes 提供了保障运行其上应用的所有必要组件,

    如:

    • "Secret" API,用于密码、令牌、密钥等机密对象
    • 用于加密网络通信的工具和 API
    • 用户认证方法
    • 基于角色与基于属性的访问控制(RBAC 与 ABAC)
Kubernetes 入门

让我们来练习!

Kubernetes 入门

Preparing Video For Download...