如何解决从 kubectl 生成 persistentVolume、persistentVolumeClaim 和 storageClass 正确 yaml 文件的最快方法是什么?
两年前,当我参加 CKA 考试时,我已经有了这个问题。当时我唯一能做的就是看k8s.io官方文档。现在只是好奇通过纯 kubectl cli 生成 pv/pvc/storageClass。我找的是和deployment类似的逻辑,例如:
$ kubectl create deploy test --image=nginx --port=80 --dry-run -o yaml
W0419 23:54:11.092265 76572 helpers.go:553] --dry-run is deprecated and can be replaced with --dry-run=client.
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: test
name: test
spec:
replicas: 1
selector:
matchLabels:
app: test
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: test
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
resources: {}
status: {}
或类似的逻辑来运行单个 Pod:
$ kubectl run test-pod --image=nginx --port=80 --dry-run -o yaml
W0419 23:56:29.174692 76654 helpers.go:553] --dry-run is deprecated and can be replaced with --dry-run=client.
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: test-pod
name: test-pod
spec:
containers:
- image: nginx
name: test-pod
ports:
- containerPort: 80
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
那么我应该输入什么来生成 pv / pvc / storageClass yaml?当前唯一的声明式最快方式:
cat <<EOF | kubectl create -f -
<PV / PVC / storageClass yaml goes here>
EOF
编辑:请注意,我寻找任何快速生成正确 pv/pvc/storageClass 模板的方法,而无需通过 cli 记住特定语法,也不需要通过 kubectl。
解决方法
没有 kubectl 命令来创建像 PV、PVC 和存储类这样的资源。
从证书的角度来看,您已经查看了 k8.io 并在任务链接下查找 PV、PVC 和存储类。
在任务链接下,大部分 YAML 将是相同的,目前,这是考试最快的方法之一。
,TL;DR:
在考试前,在此 Github 目录 (content/en/examples/pods) 中的所有 yaml 文件中查看、添加书签并建立索引。根据 CKA 课程,100% 合法。
https://github.com/kubernetes/website/tree/master/content/en/examples/pods/storage/pv-volume.yaml
然后在考试时使用此表格:
kubectl create -f https://k8s.io/examples/pods/storage/pv-volume.yaml
如果您需要编辑和应用:
# curl
curl -sL https://k8s.io/examples/pods/storage/pv-volume.yaml -o /your/path/pv-volume.yaml
# wget
wget -O /your/path/pv-volume.yaml https://k8s.io/examples/pods/storage/pv-volume.yaml
vi /your/path/pv-volume.yaml
kubectl apply -f /your/path/pv-volume.yaml
故事:
实际上,在寻找我自己的答案后,有一篇文章建议我将这些 100% 合法的页面加入书签:
https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/#creating-a-cron-job
https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/
注意:
kubectl apply -f https://k8s.io/examples/pods/storage/pv-volume.yaml
- kubectl 可以从 URL 创建对象
- 原来的 https://k8s.io 指向哪里?
- 我还能从什么中受益?
然后挖出上面“pods/storage/pv-volume.yaml”代码的页面,链接指向:
直接到:
https://github.com/kubernetes/website/tree/master/content/en/examples/pods
因此,https://k8s.io 是一个缩短的 uri 以及一个指向 https://github.com/kubernetes/website/tree/master/content/en 的 http 301 重定向,以帮助应试者在考试终端中轻松生成(而不是复制粘贴)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。