前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >定义资源的状态,对于Pod来说,属性就是containers

定义资源的状态,对于Pod来说,属性就是containers

原创
作者头像
用户7737280
发布2024-08-22 10:53:34
720
发布2024-08-22 10:53:34

apiVersion: v1

kind: Pod # 定义Kubernetes资源的类型为Pod

metadata:

name: demo-web # 定义资源的名称

labels: # 为Pod贴上标签,后面会介绍其用处

app: demo-web

spec: # 定义资源的状态,对于Pod来说,最重要属性就是containers

containers: # containers一个数组类型,如果你希望部署多个容器,可以添加多项

- name: web # 定义本Pod中该容器的名称

image: rainingnight/aspnetcore-web # 定义Pod启动的容器镜像地址

ports:

- containerPort: 80 # 定义容器监听的端口(与Dockerfile中的EXPOSE类似,只是为了提供文档信息)

apiVersion: v1

kind: Service # 定义Kubernetes资源的类型为Service

metadata:

name: demo-web-service # 定义资源的名称

spec:

selector: # 指定对应的Pod

app: demo-web # 指定Pod的标签为demo-web

ports:

- protocol: TCP # 协议类型

port: 80 # 指定Service访问的端口

targetPort: 80 # 指定Service转发请求的端口

nodePort: 30000

type: NodePort # 指定Service的类型,在这里使用NodePort来对外访问

apiVersion: v1

kind: Pod

metadata:

name: demo-web-copy

labels:

app: demo-web

spec:

containers:

- name: web

image: rainingnight/aspnetcore-web

ports:

- containerPort: 80

apiVersion: apps/v1

kind: Deploym www.laipuhuo.com ent # 定义Kubernetes资源的类型为Deployment

metadata:

name: demo-web-deployment # 定义资源的名称

labels:

app: demo-web-deployment

spec: # 定义资源的状态。

replicas: 2 # 定义我们想运行多少个Pod,在这里我们希望运行2个

selector:

matchLabels: # 定义该部署匹配哪些Pod

app: demo-web

minReadyS www.laipuhuo.com econds: 5 # 可选,指定Pod可以变成可用状态的最小秒数,默认是0

strategy: # 指定更新版本时,部署使用的策略

type: RollingUpdate # 策略类型,使用RollingUpdate可以保证部署期间服务不间断

rollingUpdate:

maxUnavailable: 1 # 部署时最大允许停止的Pod数量(与replicas相比)

maxSurge: 1 # 部署时最大允许创建的Pod数量(与replicas相比)

template: # 用来指定Pod的模板,与Pod的定义类似

metadata:

labels: # 根据模板创建的Pod会被贴上该标签,与上面的matchLabels对应

app: demo-web

spec:

containers:

- name: web

image: rainin www.laipuhuo.com gnight/aspnetcore-web

imagePullPolicy: Always # 默认是IfNotPresent,如果设置成Always,则每一次部署都会重新拉取容器映像(否则,如果本地存在指定的镜像版本,就不会再去拉取)

ports:

- containerPort: 80

kubectl rollout status deployment demo-web-deployment

# 输出

# Waiting for deployment "demo-web-deployment" rollout to finish: 1 old replicas are pending termination...

# Waiting for deployment "demo-web-deployment" rollout to finish: 1 old replicas are pending termination...

# Waiting for deployment "demo-web-deployment" rollout to finish: 1 old replicas are pending termination...

# Waiting for deployment "demo-web-deployment" rollout to finish: 1 old replicas are pending termination...

# Waiting for deployment "demo-web-deployment" rollout to finish: 1 of 2 updated replicas are available...

# Waiting for deployment "www.laipuhuo.com demo-web-deployment" rollout to finish: 1 of 2 updated replicas are available...

# deployment "demo-web-deployment" successfully rolled out

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档