作者注:本文仅为笔者学习记录,不具任何参考意义。
k8s namespace 实验。 注:本文为笔者实验记录,非教程,另会不定时更新。
环境 1 2 3 4 5 # kubectl get node NAME STATUS ROLES AGE VERSION edge-node Ready <none> 15m v1.17.0 edge-node2 Ready <none> 16m v1.17.0 ubuntu Ready master 67d v1.17.0
namespace Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间。 大型项目、团队、场合可使用,少量不用。
技术总结 命令方式 1 2 3 4 5 kubectl create namespace latelee kubectl delete namespace latelee kubectl get ns
实验 yaml文件创建 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 apiVersion: v1 kind: Namespace metadata: name: latelee labels: name: latelee who: Late-Lee --- apiVersion: v1 kind: Namespace metadata: name: development labels: name: development --- apiVersion: v1 kind: Namespace metadata: name: production labels: name: production
创建删除:
1 2 3 kubectl apply -f namespace.yaml kubectl delete -f namespace.yaml
查看:
1 2 3 kubectl get ns --show-labels kubectl get ns -l name=latelee
切换namespace 1 2 3 4 5 6 7 8 9 10 11 # kubectl config current-context 输出: kubernetes-admin@kubernetes # kubectl config view contexts: - context: cluster: kubernetes user: kubernetes-admin name: kubernetes-admin@kubernetes current-context: kubernetes-admin@kubernetes
信息:当前上下文为 kubernetes-admin@kubernetes
,集群名为kubernetes
,用户为kubernetes-admin
。
创建context。注意使用上述的context的clusster和user。
1 2 kubectl config set-context dev --namespace=development --cluster=kubernetes --user=kubernetes-admin kubectl config set-context prod --namespace=production --cluster=kubernetes --user=kubernetes-admin
删除:
1 2 kubectl config delete-context dev kubectl config delete-context prod
切换:
1 2 3 4 5 6 7 8 # kubectl config use-context dev # kubectl config use-context prod 查看确认当前的上下文: # kubectl config current-context 注:切换到原始的: kubectl config use-context kubernetes-admin@kubernetes
创建pod。此处pod位于dev命名空间中。 切换到prod命名空间,发现不存在pod。
label TODO:移不移到其它地方?
查看label:
kubectl label pods busybox-pod env=world kubectl label pods nginx-pod env=hello
kubectl label pods nginx-pod env- // 删除label`
用label过滤 kubectl get po –show-labels -l env=hello,app=nginx kubectl get po –show-labels -l ‘env in (hello,world)’