使用containerd作为容器运行k8s部署后端服务deployment样例
yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: restfulweb # 部署的名称
namespace: api # 部署到哪个命名空间
spec:
replicas: 2 # 设置副本数量为2
selector:
matchLabels:
app: restfulweb1 # 用于选择匹配的Pod标签
template:
metadata:
labels:
app: restfulweb1 # Pod的标签
spec:
containers:
- name: restfulwebc # 容器名称
image: docker.io/library/restfulapi:latest # For image in container, use ctr -n k8s.io images import restfulapi.tar to import images
# image: restfulapi:latest # For image in docker
imagePullPolicy: IfNotPresent # 镜像拉取策略,如果本地没有就拉取
ports:
- containerPort: 80 # 容器内部监听的端口
---
apiVersion: v1
kind: Service
metadata:
name: restfulweb-service # 服务的名称
spec:
externalTrafficPolicy: Cluster # 外部流量策略设置为集群
selector:
app: restfulweb1 # 用于选择匹配的Pod标签
ports:
- protocol: TCP # 使用TCP协议
port: 5000 # 服务暴露的端口
targetPort: 5000 # Pod中容器的端口
nodePort: 30500 # 在每个Node上分配的端口,用于外部访问
type: NodePort # 服务类型,使用NodePort