5.2 如何创建一个deployment
kubectl apply -f deploy.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: hello-deploy spec: replicas: 10 selector: matchLabels: app: hello-world minReadySeconds: 10 strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 maxSurge: 1 template: metadata: labels: app: hello-world spec: containers: - name: hello-pod image: nigelpoulton/k8sbook:edge ports: - containerPort: 8080
下面逐个解释上述配置文件的内容。
第一行指定了所使用的API版本。
kind告诉kubernetes现在定义的是一个deployment对象。
metadata部分定义Deployment的名字和标签。
spec部分定义了绝大多数的参数。spec下的内容都与pod有关。
spec.replicas告诉kubernetes需要部署多少个pod副本。spec.selector表明Deployment要管理的pod所必须具备的标签。spec.strategy告诉kubernetes如何执行更新操作。spec.template下的内容定义了Deployment管理的Pod模版。在这个例子中Pod模版只有一个容器。
查看deployment
kubectl get deploy hello-deploy
kubectl describe deploy hello-deploy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端