大家好!在备考CKAD(Certified Kubernetes Application Developer)的旅程中,我们将探讨最基本但又在实际工作中非常重要的Context和Namespace设置。🚀
本文重点在于掌握在考场上不慌不忙地快速切换工作环境的技巧。集中阅读约15分钟,您就能掌握它!

1. Context: 你将以谁的身份,在哪里工作? 🧭
在Kubernetes中,Context(上下文)简单来说就是将“工作账户” + “集群” + “命名空间”捆绑在一起的集合。
在CKAD考试中,你需要切换多个集群来解决问题。每个问题开始时都会给出kubectl config use-context
💡 主要命令
- 查看当前上下文:
`
kubectl config current-context
`
- 查看所有可用上下文列表:
`
kubectl config get-contexts
`
- 切换上下文:
`
kubectl config use-context my-cluster-name
`
2. Namespace: 你将在哪个“房间”工作? 🏠
Namespace(命名空间)是Kubernetes中用于在一个集群内逻辑隔离资源的单位。CKAD考试中几乎所有问题都要求你在特定的命名空间内创建资源。
⚠️ 注意:如果不指定命名空间,资源将默认创建在default命名空间中。请注意,如果在问题要求的命名空间之外创建资源,将被判为0分!
💡 主要命令
- 查询特定命名空间中的资源:
`
kubectl get pods -n my-namespace
`
- 创建资源时指定命名空间:
`
kubectl run nginx-pod –image=nginx -n my-namespace
`
- 固定默认命名空间(小贴士!):如果每次都附加-n
很麻烦,你可以直接更改当前上下文的默认命名空间。
`
kubectl config set-context –current –namespace=my-namespace
`
3. CKAD实战技巧:节省时间的艺术 ⏱️
考试就是与时间赛跑!这里分享一些快速完成环境设置的技巧。
1) Alias(别名)设置
每次输入kubectl太长了。将其缩短为k。
alias k=kubectl
complete -F __start_kubectl k # k也支持自动补全
2) 使用dry-run生成YAML文件
相比直接用命令创建资源,生成并修改YAML文件要准确得多。
k run my-pod --image=nginx --dry-run=client -o yaml > pod.yaml
3) Vim配置(必备!)
YAML文件缩进至关重要。考试一开始就将以下内容添加到~/.vimrc中。
echo "set ts=2 sw=2 et" >> ~/.vimrc
4. Hands-on: 实战练习 🛠️
请在您的终端中直接按照以下场景进行操作。
场景:创建一个名为dev-team的命名空间,将当前上下文配置为默认指向该命名空间,然后创建一个Nginx Pod。
# 1. 创建命名空间
k create namespace dev-team
# 2. 更改当前上下文的默认命名空间
k config set-context --current --namespace=dev-team
# 3. 确认更改(输出当前上下文信息)
k config get-contexts $(k config current-context)
# 4. 创建Pod(即使不指定命名空间,也会在dev-team中创建)
k run web-server --image=nginx
# 5. 验证结果
k get pods
总结 🏁
Context和Namespace是Kubernetes管理中最基本的基础。尤其在CKAD考试中,你必须时刻自问:“我现在在哪个集群的哪个命名空间?”
请反复练习今天学到的kubectl config命令,直到熟练掌握。衷心祝愿您考试成功!🌟
发表回复