在 master 节点/root 目录下编写 YAML 文件 deployment.yaml 创建 Deployment
时间: 2023-05-31 07:06:47 浏览: 152
以下是一个示例的 deployment.yaml 文件,用于创建一个名为 my-app 的 Deployment,其中包含一个名为 my-container 的容器,该容器使用 nginx 镜像,并在端口 80 上监听请求:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginx
ports:
- containerPort: 80
```
要创建此 Deployment,请在 master 节点的终端中运行以下命令:
```
kubectl apply -f deployment.yaml
```
此命令将读取 deployment.yaml 文件,并在 Kubernetes 集群中创建 my-app Deployment。其中,replicas 指定了要创建的 Pod 数量,selector 指定了如何选择要控制的 Pod,template 指定了 Pod 的模板,其中包含了要运行的容器的信息。
相关问题
在 master 节点/root 目录下编写 YAML 文件 deployment.yaml 创建 Deployment,具体 要求如下: (1)Deployment 名称:nginx-app; (2)包含 3 个副本; (3)镜像使用 nginx:1.11.9 完成后使用该 YAML 文件创建 Deployment。然后通过滚动升级的方式更新镜像版本为 1.12.0,并记录这个更新,最后,回滚该更新到之前的 1.11.9 版本。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-app
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.11.9
ports:
- containerPort: 80
#升级镜像版本
kubectl set image deployment/nginx-app nginx=nginx:1.12.0 --record=true
#查看更新记录
kubectl rollout history deployment/nginx-app
#回滚到之前版本
kubectl rollout undo deployment/nginx-app --to-revision=1
6. 在master节点/root目录下编写YAML文件创建角色,具体要求如下: (1)角色名称:exam; (2)该角色拥有创建、删除和更新Pod的权限; (3)该角色拥有查看、创建、更改和删除Deployment的权限。 完成后使用该YAML文件创建角色。
下面是创建角色的YAML文件:
```
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: exam
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["create", "delete", "update"]
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["get", "create", "update", "delete"]
```
您可以使用以下命令来创建角色:
```
kubectl apply -f exam-role.yaml
```
请注意,您需要在具有足够权限的Kubernetes集群上运行此命令。
阅读全文