新手必看:Kubernetes快速入门——利用vscode快速生成YAML清单!

在使用Kubernetes时,我们经常需要搜索Kubernetes YAML文件以便部署测试Pod、Deployment或其他对象。毕竟,没人愿意每次都手动编写YAML文件的每一行,对吧?

让我们来看看一些简化YAML创建过程的Kubernetes技巧。

使用Kubernetes扩展自动生成YAML

最简单的创建Kubernetes YAML文件的方法之一是使用Visual Studio的Kubernetes扩展。

安装Kubernetes VS Code[1]扩展,它将帮助你为大多数Kubernetes对象开发YAML清单。它还支持将应用程序部署到本地和远程的Kubernetes集群。

你只需开始输入对象名称,扩展就会自动为你填充选项。然后,根据你的选择,它会自动生成基本的YAML结构,如下图所示。

新手必看:Kubernetes快速入门——利用vscode快速生成YAML清单!

该扩展支持生成PodDeploymentStatefulSetReplicationSetPersistent Volume (PV)Persistent Volume Claim (PVC)等对象的YAML文件。


使用Kubectl Dry Run 创建YAML清单

你可以使用kubectl命令创建YAML清单。这里有一个--dry-run标志,可以帮助你创建整个清单模板。

不过,你不能通过dry-run创建所有的Kubernetes资源YAML。例如,你不能使用dry-run创建StatefulSet或持久卷。

注意:如果你正在准备Kubernetes认证如CKA、CKAD或CKS,命令行操作在考试中非常有用。

Kubectl YAML Dry Run 示例

以下是一些使用干运行生成YAML并写入输出文件的示例。

创建Pod YAML

创建一个名为myapp的Pod YAML,使用nginx:latest镜像。

kubectl run mypod --image=nginx:latest \
            --labels type=web \
            --dry-run=client -o yaml > mypod.yaml
创建Pod服务YAML

为一个Pod服务生成YAML,暴露一个NodePort。这仅在你有一个运行中的Pod时有效。

kubectl expose pod mypod \
    --port=80 \
    --name mypod-service \
    --type=NodePort \
    --dry-run=client -o yaml > mypod-service.yaml
创建NodePort服务YAML

创建一个NodePort类型的服务,端口30001,并将服务映射到Pod的TCP端口80。

kubectl create service nodeport mypod \
    --tcp=80:80 \
    --node-port=30001 \
    --dry-run=client -o yaml > mypod-service.yaml
创建Deployment YAML
创建一个名为mydeployment的Deployment,使用nginx镜像。
kubectl create deployment mydeployment \
    --image=nginx:latest \
    --dry-run=client -o yaml > mydeployment.yaml
创建Deployment服务YAML

为Deployment mydeployment创建一个NodePort服务YAML,服务端口8080。

kubectl expose deployment mydeployment \
    --type=NodePort \
    --port=8080 \
    --name=mydeployment-service \
    --dry-run=client -o yaml > mydeployment-service.yaml
创建Job YAML

创建一个名为myjob的Job,使用nginx镜像。

kubectl create job myjob \
    --image=nginx:latest \
    --dry-run=client -o yaml
创建Cronjob YAML

创建一个名为mycronjob的Cronjob,使用nginx镜像和一个cron时间表。

kubectl create cj mycronjob \
    --image=nginx:latest \
    --schedule="* * * * *" \
    --dry-run=client -o yaml

以上是一些通用的YAML示例。你可以根据需求进一步修改这些参数并使用它们。

Kubectl和dry-run别名

为了加快操作速度,你可以在~/.bashrc~/.zshrc中设置kubectl命令的别名。这样你就不必每次都输入kubectl了。

alias k=kubectl

你还可以为kubectl --dry-run参数设置一个别名。

alias kdr='kubectl --dry-run=client -o yaml'

然后你可以按如下方式执行命令。

kdr run web --image=nginx:latest > nginx.yaml

这篇本文章介绍了两种快速生成Kubernetes YAML清单的方法:使用Visual Studio的Kubernetes扩展和通过kubectl命令结合--dry-run标志。前者适合图形界面操作,后者适用于命令行生成,尤其有助于Kubernetes认证考试。这些技巧简化了创建Pod、Deployment、Service等对象的过程,提高了开发效率。

声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
Kubernetes

Ingress获取真实IP

2024-6-6 17:43:21

Kubernetes

使用Nginx反向代理kubesphere

2024-11-14 12:26:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索