k3s高级教程:文件夹共享挂载和启动命令替换
前言
如果你之前看过锋哥的k3s初级教程,那么你一定掌握了如何快速安装,并体验kubernetes, 接下来,可以试着学习稍微复杂一点的操作了。
挂载host文件夹共享文件
一般来说,我们把应用,软件容器化之后,还是需要挂载一些文件到容器里,不可能把所有内容都打包到容器里面,那么这个挂载host主机上的文件夹,就成了一个比较基本的操作了,大家可以学习一下。
下面是一个deploy配置文件,注意看volumeMounts和volumes配置字段。
volues定义了可供挂载的host 主机目录
volumeMounts 定义了要挂载到容器的哪个目录下面
就本示例而言:是把宿主机的路径/home/www/gw.netroby.com挂载到容器内的/usr/share/nginx/html
你可以根据需要改成自己的配置,然后用kubectl 部署
# cat deploy.yml apiVersion: apps/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 # tells deployment to run 2 pods matching the template template: # create pods using pod definition in this template metadata: # unlike pod-nginx.yaml, the name is not included in the meta data as a unique name is # generated from the deployment name labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 volumeMounts: - mountPath: /usr/share/nginx/html name: ngxvol volumes: - name: ngxvol hostPath: path: /home/www/gw.netroby.com type: Directory
替换启动参数
有时候我们需要替换默认的容器启动参数,需要掌握的两个配置字段,一个是command,一个是args
command,指定了要执行的命令(可以是一个程序,可以是一个shell脚本)
args 指定了启动参数,多个参数,用数组的形式表达
apiVersion: v1 kind: Pod metadata: name: memory-demo namespace: mem-example spec: containers: - name: memory-demo-ctr image: polinux/stress resources: limits: memory: "200Mi" requests: memory: "100Mi" command: ["stress"] args: ["--vm", "1", "--vm-bytes", "150M", "--vm-hang", "1"]
参考文档
如果想更多的了解相关知识,请查阅参考文档
https://kubernetes.io/docs/reference/kubectl/cheatsheet/
https://kubernetes.io/docs/concepts/storage/volumes/#hostpath
分类: 服务器/VPS/云 标签: kubernetes k3s 发布于: 2020-12-26 16:26:57, 点击数: