两年前我参加CKA考试时,我就已经有这个问题了。当时我只能看k8s.io官方文档。现在只是对通过纯 kubectl cli 生成 pv / pvc / storageClass 感到好奇。我寻找的是与部署类似的逻辑,例如:
$ 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: {}
Run Code Online (Sandbox Code Playgroud)
或运行单个 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: {}
Run Code Online (Sandbox Code Playgroud)
那么我应该输入什么才能生成 pv / pvc / storageClass yaml ?目前唯一的声明式最快方式:
cat <<EOF | kubectl create -f -
<PV / PVC / storageClass yaml goes here>
EOF
Run Code Online (Sandbox Code Playgroud)
编辑:请注意,我寻找任何快速方法来生成正确的 pv / pvc / storageClass 模板,而无需通过 cli 记住特定语法,并且不需要通过 kubectl 。
考试前,在 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
Run Code Online (Sandbox Code Playgroud)
如果您需要编辑并应用:
# 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
Run Code Online (Sandbox Code Playgroud)
实际上,在寻找我自己的答案之后,有一篇文章建议我为这些 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
Run Code Online (Sandbox Code Playgroud)
然后在挖掘出“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 重定向,以帮助考生轻松生成(不是复制-n-paste)在考试终端中。
| 归档时间: |
|
| 查看次数: |
1500 次 |
| 最近记录: |