- hosts: webservers tasks: - name: say hello command: touch "hello world" chdir=/opt目标主机定义- hosts: webservers指定这个 playbook 将在 webservers 组的所有主机上执行webservers 组应该在 inventory 文件中定义任务列表tasks: 定义了要在目标主机上执行的操作序列具体任务 - name: say hello command: touch "hello world" chdir=/optname 任务的描述性名称,用于执行时的输出显示command 使用的模块名称touch "hello world" chdir=/opt 传递给模块的参数执行操作这个 playbook 将执行一个简单的操作:在所有 webservers 组的主机上在 /opt目录下创建一个名为 hello world 的空文件(包含空格的文件名)其中,command: touch "
同一个 Pod 中的多个容器能够共享 Pod 级别的存储卷 Volume。Volume 可以被定义为各种类型,多个容器各自进行挂载操作,将一个 Volume 挂载为容器内部需要的目录多容器协作实践解析Pod 内包含两个容器:tomcat 和 busybox,在 Pod 级别设置 Volume"apps-logs",用于 tomcat 向其中写日志文件,busybox 读日志文件apiVersion: v1 kind: Pod metadata: name: volume-pod spec: containers: - name: tomcat # 第一个容器(主容器)tomcat image: tomcat # 使用 tomcat 镜像 ports: - containerPort: 8080 # 容器内部端口 volumeMounts: - name: app-logs
vim 编辑器卡住新开一个标签页,再次进入 vim 编辑器,按 R 进入覆盖(Recover)后,进入编辑,完成编辑后 :wq 保存。vim 进程冲突如果编辑器没有卡住,但是提示冲突时,可以选择根据需要,按提示选择需要进行的操作:[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:继续编辑配置文件,完成编辑后 :wq 保存。删除 swp 文件虽然已经完成了文件编辑并保存,但是在出现冲突时,就已经产生了一个 .swp 的隐藏文件,需要找到他并删除。查看隐藏文件:ls -la会看到与 vim 编辑器卡住 / 进程冲突的同名的 .swp 文件。再执行删除命令:sudo rm .pod-volume-applogs.yaml.swp成功删除后,就可以再次用 vim 打开并编辑文件了。如果还提示有 .swp 文件,可以先确认 vim 进程是否还在运行ps aux | grep vim如果发现有运行的 vim 进程,可以强制结束:killall vim # 或者 pkill vim然后再删除 swp 文件重试。附录:查找 swp
Pod 定义YAML 格式的 Pod 定义文件完整内容如下:apiVersion: v1 # Pod API 版本,v1 是稳定版,String,必选 kind: Pod # 资源类型为 Pod,String,必选 metadata: # 元数据定义,Object,必选 name: string # Pod 的名称,必选,命名规范需要符合 RFC 1035 规范,metadata.name namespace: string # Pod 所属的命名空间,默认值为 default,必选,metadata.namespace labels: # 标签定义 key: value # 标签是 key-value 格式 annotations: # 注解定义 key: value
静态 Pod 由 kubelet 管理的仅存在于特定 Node 上的 Pod。他们不能通过 API Server 进行管理,无法与 RC、Deployment 或者 DaemonSet 进行关联,并且 kubelet 无法对他们进行健康检查。静态 Pod 是 由 kubectl 创建,并总在 kubelet 所在的 Node 上运行。创建静态 Pod - 配置文件方式设置 kubelet 的启动参数 --config,指定 kubelet 需要监控的配置文件所在的目录,kubelet 会定期扫描该目录,并根据该目录下的 .yaml 或 .json 文件进行创建操作。假设配置目录为 /etc/kubelet.d,配置启动参数为 --config=/etc/kubelet.d/ ,然后重启 kubelet 服务。--config=/etc/kubelet.d/ 适用于指定 kubelet 配置文件的参数,不是静态 Pod 的配置文件内容。kubelet 会从该目录中读取配置文件来启动和管理 Pod,这个参数通常用于配置 kubelet 的行为,而不是直接管理静态 Pod静态 Pod 实践检
Luckyxyz
我们谈论生活,讨论技术,借由文字,抵达心灵。