第四节 使用配置文件来创建和更新服务
来梳理一下 资源对象的关系, deployment 管理的是 replicaset ,它是用力控制pod 的数量的. replicatset 是用来管理pod.
Pod 是 Kubernetes中最小的可部署单元, 中文可以翻译为 “容器组”。它是用于承载和管理容器的抽象层。 一个 Pod 可以包含一个或多个紧密关联的容器, 它们共享相同的网络命名空间、 IP 地址和存储卷, 并在同一个宿主机上运行。
kubectl create deployment ng-dep --image=nginx --replicas=3
通过文件创建资源对象
kubectl create -f nginx-deployment.yml
nginx-deployment.yml
配置文件内容如下
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # 指定要运行的Pod数量
selector:
matchLabels:
app: nginx # 选择器用于标识与此Deployment关联的Pods
template:
metadata:
labels:
app: nginx # Pod上的标签,必须与selector匹配
spec:
containers:
- name: nginx
image: nginx:1.25 # Nginx容器使用的镜像版本
ports:
- containerPort: 80 # 将容器内的80端口映射到主机的相应端口(如果需要)
删除对象
kubectl delete -f nginx-deployment.yml
使用这种方式创建对象/更新对象
kubectl apply -f nginx-deployment.yml
create和apply区别
create 用来创建资源对象,从无到有的过程.
apply 则是根据配置文件内容,用来 创建/更新资源对象 ,如果资源对象没有则会创建, 如果资源对象存在,如果和资源对象的内容不一样, 则进行更新资源对象.