StatefulSet应用部署

简介: 本场景带您体验如何使用k8s的原生命令kubectl部署一个StatefulSet应用的镜像到k8s集群中,并对该StatefulSet应用进行伸缩操作。

StatefulSet应用部署


1. 创建实验资源

开始实验之前,您需要先创建云服务器ECS和ACK集群资源。

说明:在实验资源创建过程中,ECS会安装命令行工具kubectl并连接ACK集群,方便您在后续实验中通过ECS中的Kubernetes命令行工具kubectl来管理ACK集群以及应用。

  1. 在实验室页面,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。

说明:资源创建过程需要7~10分钟。

2. 部署StatefulSet应用

本步骤指导你如何部署statefulset应用到k8s集群中,并查看statefulset应用中的Pod和PVC情况。

  1. 执行如下命令,创建statefulset.yaml文件。
vi statefulset.yaml
  1. i键进入编辑模式,将如下代码复制到文件中。

说明:storageClassName配置为alicloud-disk-ssd,表示使用的是阿里SSD类型的云盘。

apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - port: 80
    name: web
  clusterIP: None
  selector:
    app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx
  serviceName: "nginx"
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
          name: web
        volumeMounts:
        - name: disk-ssd
          mountPath: /data
  volumeClaimTemplates:
  - metadata:
      name: disk-ssd
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "alicloud-disk-ssd"
      resources:
        requests:
          storage: 20Gi
  1. ECS键退出编辑模式,输入:wq,然后回车保存并退出文件。
  2. 执行如下命令,部署StatefulSet应用。
kubectl create -f statefulset.yaml
  1. 执行如下命令,查看Pod按照次序部署。
kubectl get pod -w -l app=nginx

返回结果如下 ,您可查看到Pod按照次序部署

  1. 输入Ctrl+C键,停止查看。
  2. 执行如下命令,查看已部署的Pod。
kubectl get pod

返回结果如下,您可查看到有两个已部署的Pod。

  1. 执行如下命令,查看PVC
kubectl get pvc

返回结果如下 ,您可查看到有两个PVC


3. 扩容StatefulSet应用

本步骤指导你如何扩容StatefulSet应用的Pod,并查看Pod和PVC的变化情况。

  1. 执行如下命令,扩容StatefulSet应用为3个Pod
kubectl scale sts web --replicas=3
  1. 执行如下命令,查看扩容后的Pod
kubectl get pod

返回结果如下,您可查看到扩容后的StatefulSet应用有3个Pod。

  1. 执行如下命令,查看扩容后的PVC
kubectl get pvc

返回结果如下,您可查看到扩容后的StatefulSet应用有3个PVC。


4. 缩容StatefulSet应用

  1. 执行如下命令,缩减StatefulSet应用为2个Pod,并查看Pod和PVC的变化情况。。
kubectl scale sts web --replicas=2
  1. 执行如下命令,查看缩容后的Pod。
kubectl get pod

返回结果如下,你可查看到StatefulSet应用已缩减到2个Pod。

  1. 执行如下命令,查看缩容后的PVC。
kubectl get pvc

返回结果如下,您可查看到PVC和PV并没有随Pod一起缩减。


5. 再次扩容StatefulSet应用

本步骤指导你如何扩容StatefulSet应用的Pod,并查看Pod和PVC的变化情况。

  1. 执行如下命令,扩容StatefulSet应用到3个Pod
kubectl scale sts web --replicas=3
  1. 执行如下命令,查看扩容后的Pod
kubectl get pod

返回结果如下,您可查看到扩容后的StatefulSet应用有3个Pod。

  1. 执行如下命令,查看扩容后的PVC
kubectl get pvc

返回结果如下,您可查看到扩容后新创建的Pod仍会使用原来的PVC和PV。


6. 删除StatefulSet应用的Pod

本步骤指导你如何删除StatefulSet应用的Pod,并查看Pod和PVC的变化情况。

  1. 执行如下命令,查看名称为web-1的Pod所引用的PVC。
kubectl describe pod web-1 | grep ClaimName

返回结果如下,您可查看到名称为web-1的Pod所引用的PVC。

  1. 执行如下命令,删除名称为web-1的Pod。
kubectl delete pod web-1
  1. 执行如下命令,查看Pod
kubectl get pod

返回结果如下,重新创建的Pod与删除前的Pod名称一致。

  1. 执行如下命令,查看PVC。
kubectl get pvc

返回结果如下,重新创建的Pod所使用的PVC与删除前的Pod所使用的PVC一致。


实验链接:https://developer.aliyun.com/adc/scenario/e561256759444baab1f8b302fe94ed43


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 安全 Linux
Podman入门全指南:安装、配置与运行容器
Podman入门全指南:安装、配置与运行容器
11118 1
|
4天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
3938 8
|
15天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
11586 133
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
3天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
1405 5
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
15天前
|
人工智能 IDE API
2026年国内 Codex 安装教程和使用教程:GPT-5.4 完整指南
Codex已进化为AI编程智能体,不仅能补全代码,更能理解项目、自动重构、执行任务。本文详解国内安装、GPT-5.4接入、cc-switch中转配置及实战开发流程,助你从零掌握“描述需求→AI实现”的新一代工程范式。(239字)
7897 139
|
5天前
|
人工智能 自然语言处理 数据挖掘
零基础30分钟搞定 Claude Code,这一步90%的人直接跳过了
本文直击Claude Code使用痛点,提供零基础30分钟上手指南:强调必须配置“工作上下文”(about-me.md+anti-ai-style.md)、采用Cowork/Code模式、建立标准文件结构、用提问式提示词驱动AI理解→规划→执行。附可复制模板与真实项目启动法,助你将Claude从聊天工具升级为高效执行系统。
|
5天前
|
人工智能 定位技术
Claude Code源码泄露:8大隐藏功能曝光
2026年3月,Anthropic因配置失误致Claude Code超51万行源码泄露,意外促成“被动开源”。代码中藏有8大未发布功能,揭示其向“超级智能体”演进的完整蓝图,引发AI编程领域震动。(239字)
2286 9
|
4天前
|
云安全 供应链 安全
Axios投毒事件:阿里云安全复盘分析与关键防护建议
阿里云云安全中心和云防火墙第一时间响应
1183 0