1
1
# Kubernetes namespace
2
2
3
+ ## 思维导图预习
4
+
5
+ ![ Kubernetes-namespace-思维导图.png] ( https://cnymw.github.io/GolangStudy/docs/Kubernetes-namespace/Kubernetes-namespace-思维导图.png )
6
+
7
+ ---
8
+
3
9
## 什么是 Kubernetes namespace
4
10
5
11
在 Kubernetes 中,名字空间(Namespace)提供一种机制,将同一集群中的资源划分为相互隔离的组。
8
14
9
15
namespace 作用域仅针对带有 namespace 的对象,例如 Deployment、Service 等,这种作用域对集群访问的对象不适用,例如 StorageClass、Node、PersistentVolume 等。
10
16
17
+ ---
18
+
11
19
## 什么时候使用 Kubernetes namespace
12
20
13
21
namespace 适用于存在很多跨多个团队或项目的用户的场景。对于只有几到几十个用户的集群,根本不需要创建或考虑 namespace。
14
22
15
23
在多个用户之间划分集群资源的时候,可以使用 namespace。
16
24
25
+ ---
26
+
17
27
## 什么时候不必使用 Kubernetes namespace
18
28
19
29
不必使用多个 namespace 来分隔仅仅轻微不同的资源,例如同一软件的不同版本,应该使用标签(label)来区分同一 namespace 中的不同资源。
20
30
31
+ ---
32
+
21
33
## 如何使用 namespace
22
34
23
35
> 说明: 避免使用前缀 kube- 创建 namespace,因为它是为 Kubernetes 系统 namespace 保留的。
@@ -54,12 +66,16 @@ kubectl get pods --namespace=<namespace 名称>
54
66
kubectl config set-context --current --namespace=< namespace 名称>
55
67
```
56
68
69
+ ---
70
+
57
71
## namespace 和 DNS
58
72
59
73
当你创建一个 service 时, Kubernetes 会创建一个相应的 DNS 条目。
60
74
61
75
该条目的形式是 <service 名称>.<namespace 名称>.svc.cluster.local,这意味着如果容器只使用 <service 名称>,它将被解析到本地 namespace 的 service。这对于跨多个 namespace(如开发、测试和生产)使用相同的配置非常有用。如果你希望跨 namespace 访问,则需要使用完全限定域名(FQDN)。
62
76
77
+ ---
78
+
63
79
## 并非所有对象都在 namespace 中
64
80
65
81
大多数 kubernetes 资源(例如 Pod、Service、副本控制器等)都位于某些 namespace 中。但是 namespace 资源本身并不在 namespace 中。而且底层资源,例如节点和持久化卷不属于任何 namespace。
@@ -72,31 +88,28 @@ kubectl api-resources --namespaced=true
72
88
kubectl api-resources --namespaced=false
73
89
```
74
90
75
- # 参考资料
91
+ ---
92
+
93
+ ## 参考资料
76
94
77
95
- [ kubernetes.io官方文档:名字空间] ( https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/namespaces/ )
78
96
79
- # 思维导图
97
+ ---
80
98
81
- ``` markmap
82
- - 什么是 Kubernetes namespace
83
- - 什么时候使用 Kubernetes namespace
84
- - 什么时候不必使用 Kubernetes namespace
85
- - 如何使用 namespace
86
- - namespace 和 DNS
87
- - 并非所有对象都在 namespace 中
88
- ```
99
+ ## 思维导图
89
100
90
101
![ Kubernetes-namespace-思维导图.png] ( https://cnymw.github.io/GolangStudy/docs/Kubernetes-namespace/Kubernetes-namespace-思维导图.png )
91
102
92
- # 视频学习
103
+ ---
93
104
94
105
## B站学习
95
106
96
107
[ 从零开始学习k8s:k8s namespace] ( https://www.bilibili.com/video/BV12T411A7HN/ )
97
108
98
109
![ Kubernetes-namespace-B站.png] ( https://cnymw.github.io/GolangStudy/docs/Kubernetes-namespace/Kubernetes-namespace-B站.png )
99
110
111
+ ---
112
+
100
113
## 抖音学习
101
114
102
115
![ Kubernetes-namespace-抖音.png] ( https://cnymw.github.io/GolangStudy/docs/Kubernetes-namespace/Kubernetes-namespace-抖音.png )
0 commit comments