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, 有大厂完整面经,工作技术等经验分享

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

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

相关推荐
姚不倒3 小时前
负载均衡的概念、策略以及两个核心组件 Nginx 和 Kube-proxy 的对比。
运维·nginx·云原生·kubernetes
地瓜伯伯3 小时前
Nginx终极配置指南:负载均衡、限流、反向代理、IP白名单、SSL、云原生、DNS解析、缓存加速全都有
spring boot·nginx·spring·spring cloud·微服务·云原生·负载均衡
颜颜yan_8 小时前
在openEuler上搞个云原生AI模型商店:像点外卖一样部署模型
人工智能·云原生
阿里云云原生9 小时前
线下活动速递丨AI 原生应用开源开发者沙龙·杭州站
云原生
阿里云云原生10 小时前
MCP 网关实战:基于 Higress + Nacos 的零代码工具扩展方案
云原生·mcp
阿里云云原生10 小时前
UModel 查询:驯服“可观测性混乱”,阿里云的图模型建模利器!
云原生
洒家肉山大魔王12 小时前
Kubernetes中Pod 处于 CrashLoopBackOff 状态(生产环境)
linux·容器·kubernetes·pod·pod循环重启
weixin_3077791314 小时前
采用Amazon SES解决电商邮件延迟:以最小化运维实现最大效率的方案选择
运维·云原生·架构·云计算·aws
Lynnxiaowen14 小时前
今天我们学习kubernetes内容Ingress资源对象
学习·容器·kubernetes
聊天QQ:48773927814 小时前
探索锂电池主动均衡仿真:从开关电容到多种电路的奇妙之旅
云原生