③. 管理k8s的对象
- ①. 同一个Kubernetes对象应该只使用一种方式管理,否则可能会出现不可预期的结果
②. kubectl create -f 没有会创建,有的话会报错
kubectl apply -f 没有会创建,有的话不会报错
④. k8s的名称空间
①. Namespace:名称空间,用来对集群资源进行隔离划分。默认只隔离资源,不隔离网络
(同一名称下的资源可以共享,不同名称空间下的资源不能共享,但是不同名称空间下的网络可以互通)
②. 关于Namespace中基本的命令
kubectl get ns:查看命名空间
kubectl create ns hello:创建命名空间
kubectl delete ns hello:删除命名空间
③. 使用yaml的文件创建命名空间(下面创建了hello的命名空间),hello.yaml
如果要删除命名空间:kubectl delete -f hello.yaml
[root@k8smaster k8syaml]# kubectl create ns hello--dry-run=client -oyaml apiVersion: v1 kind: Namespace metadata: name: hello # 名称空间的名字 spec: {} status: {}
④. 使用kubectl get pods:查看的是默认(default命名空间)下的内容
[root@k8s-master~]kubectl get pods No resources found in default namespace
⑤. Kubernetes 安装成功后,默认有初始化了三个名称空间:
default默认名称空间,如果Kubernetes对象中不定义metadata.namespace字段,该对象将放在此名称空间下
kube-system Kubernetes系统创建的对象放在此名称空间下
kube-public此名称空间自动在安装集群是自动创建,并且所有用户都是可以读取的(即使是那些未登录的用户)。主要是为集群预留的,例如,某些情况下,某些Kubernetes对象应该被所有集群用户看到