K8s 之动态编排

大家好,我是升仔

引言

Kubernetes(K8s)是一个开源平台,用于自动部署、扩展和管理容器化应用。动态编排是K8s的核心特性之一,它使得容器的部署和管理变得自动化和灵活。

动态编排的核心概念
  1. Pods:最小部署单元,一个或多个容器的集合。
  2. Deployment:管理Pods的声明,包括副本数量和升级策略。
  3. Service:定义如何访问Pods,如负载均衡和服务发现。
  4. Ingress:管理外部访问K8s集群的规则。
  5. ConfigMap 和 Secret:存储配置信息和敏感数据。
  6. Volume:提供存储资源。
基础部署步骤
  1. 创建Deployment

    • 使用YAML文件定义Deployment。
    • 指定应用镜像、副本数量等配置。

    示例:

    复制代码
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-app
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: my-app
      template:
        metadata:
          labels:
            app: my-app
        spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
  2. 创建Service

    • 为部署的Pods创建Service,提供网络访问。

    示例:

    复制代码
    apiVersion: v1
    kind: Service
    metadata:
      name: my-service
    spec:
      selector:
        app: my-app
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
      type: LoadBalancer
  3. 配置Ingress

    • 定义规则来外部访问服务。

    示例:

    复制代码
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: example-ingress
    spec:
      rules:
      - host: www.example.com
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: my-service
                port:
                  number: 80
动态编排的高级特性
  1. 自动扩缩容(Horizontal Pod Autoscaler)
    • 根据CPU使用率或其他指标自动增减Pod副本数量。
  2. 滚动更新和版本回滚
    • 无中断更新应用,并在需要时回滚到之前的版本。
  3. 配置管理
    • 使用ConfigMap和Secret来管理应用配置和敏感数据。
具体案例

假设我们有一个基于Web的应用,需要在K8s上进行部署、扩展和管理。

  1. 部署Web应用
    • 创建Deployment和Service。
    • 配置Ingress以允许外部流量。
  2. 自动扩缩容
    • 定义HPA以根据流量自动调整Pod副本数量。
  3. 配置更新和管理
    • 使用ConfigMap管理应用配置。
    • 使用Secret管理敏感信息。
  4. 滚动更新
    • 更新Deployment以使用新版本的应用镜像。
    • 自动进行滚动更新,无需停机。
结语

K8s的动态编排能力使得容器化应用的部署、管理和扩展变得自动化和高效。它不仅提供了高度的灵活性和可扩展性,而且还支持了复杂应用的可靠运行。无论是简单的应用还是复杂的微服务架构,K8s都是一个理想的选择。

最后说一句(求关注,求赞,别白嫖)

最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。

这是大佬写的,7701页的BAT大佬写的刷题笔记,让我offer拿到手软

本文已收录于我的技术网站,next-java.com, 有大厂完整面经,工作技术等经验分享

求一键三连:点赞、分享、收藏

点赞对我真的非常重要!在线求赞,加个关注非常感激

相关推荐
薪火铺子5 小时前
微服务认证方案对比与选型
微服务·云原生·架构
misL NITL5 小时前
idea、mybatis报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
tomcat·intellij-idea·mybatis
运维全栈笔记6 小时前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
尘世壹俗人6 小时前
使用K8s部署模型
kubernetes
AI攻城狮7 小时前
AI Agent 从上线到删库跑路始末
云原生
AI木马人8 小时前
9.人工智能实战:GPU 服务如何上 Kubernetes?从单机部署到 K8s + NVIDIA Device Plugin + HPA 的生产级改造
人工智能·容器·kubernetes
码点滴12 小时前
告别显存焦虑:PagedAttention 如何将大模型吞吐量提升 4 倍?
人工智能·架构·kubernetes·大模型·pagedattention
键盘鼓手苏苏14 小时前
Kubernetes 容器安全最佳实践
云原生·kubernetes·k8
Elastic 中国社区官方博客14 小时前
Elasticsearch Serverless 中跨项目搜索(CPS)的工作原理
大数据·elasticsearch·搜索引擎·云原生·serverless
键盘鼓手苏苏14 小时前
Kubernetes 安全最佳实践
云原生·kubernetes·k8