Kubernetes Tips

警告
本文最后更新于 2020-03-06,文中内容可能已过时。

在生产环境不建议使用默认的namespace,下面是几种划分方式。

  1. 按照应用程序或服务进行命名:可以使用应用程序或服务的名称来命名 namespace,例如,如果你的应用程序是一个电子商务网站,可以使用 “ecommerce” 或 “webstore” 来命名对应的 namespace。
  2. 按照环境进行命名:可以使用环境名称来命名 namespace,例如,如果你的应用程序有一个测试环境和一个生产环境,可以分别使用 “test” 和 “prod” 来命名对应的 namespace。
  3. 按照团队进行命名:可以使用团队名称来命名 namespace,例如,如果你的团队负责维护一个特定的应用程序,可以使用团队名称来命名对应的 namespace。
  4. 按照应用程序的功能进行命名:可以使用应用程序的功能来命名 namespace,例如,如果你的应用程序有一个后端服务和一个前端服务,可以分别使用 “backend” 和 “frontend” 来命名对应的 namespace。

通过配置 context 来访问多套集群,在配置文件中 clusterscontextsusers 段添加相应的信息。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 获取 k8s 的上下文
$ kubectl config get-contexts 

# 切换 context
kubectl config use-context kind-my-k8s

# 查看配置
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://10.0.0.130:6443
  name: kind-my-k8s
contexts:
- context:
    cluster: kind-my-k8s
    user: kind-my-k8s
  name: kind-my-k8s
current-context: kind-my-k8s
kind: Config
preferences: {}
users:
- name: kind-my-k8s
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

kubectl 命令中,双减号(–)是用来分隔位置参数和选项参数的符号,它的作用是将后面的参数视为选项参数而不是位置参数。

1
kubectl exec hello-Pod -- ps aux 
  • hello-Pod 是位置参数,表示要执行命令的 Pod 名称
  • ps aux 是要在 Pod 中执行的命令。

通过在命令中使用 --,可以明确指定 ps aux 作为选项参数,而不是将其解释为位置参数。这样做的目的是为了确保命令能够正确地在 Pod 中执行。