Namespaces
命名空间
Kubernetes 使用命名空间来组织集群中的对象。您可以将每个名称空间视为一个 包含一组对象的文件夹。默认情况下,kubectl 命令行工具与默认命名空间交互。如 果你想使用不同的命名空间,你可以向 kubectl 传递 ‑‑namespace 标志。例如, kubectl ‑‑namespace=mystuff 引用 mystuff 命名空间中的对象。如果您想与所 有命名空间交互如果您想与所有名称空间进行交互—例如,要列出集群中的所有Pods,您可以传递——all名称空间标志
Contexts
环境
如果您想更永久地更改默认名称空间,可以使用context。这被记录在 kubectl 配置文件中,通常位于$HOME/.kube/config。这个配置文件也
存储如何查找和验证您的集群。例如,您可以使用以下命令为您的 kubectl 命令创建一个具有不同默认命名空间的(环境):
kubectl config set-context my-context –namespace=mystuff
这会创建一个新的Contexts,但实际上并没有开始使用它。要使用这个新创建的,您可以运行
kubectl config use-context my-context
还可以用于管理不同的集群或不同的用户,以便使用带有 set‑context
命令的 ‑‑users 或 ‑‑clusters 标志对这些集群进行身份验证。
查看 Kubernetes API 对象
Kubernetes 中包含的所有内容都由 RESTful 资源表示。我们将这些资源称为Kubernetes 对象。每个 Kubernetes 对象都存在于唯一的 HTTP 路径中;例如https://your k8s.com/api/v1/namespaces/default/pods/my‑pod导致在名为 my‑pod 的默认命名空间中表示 Pod。kubectl 命令向这些 URL 发出 HTTP 请求,以访问驻留在这些路径中的 Kubernetes 对
象。
通过 kubectl查看Kubernetes对象最基本的命令是 get。如果您运行 kubectl get <resource‑name>您将获得当前命名空间中所有资源的列表。如果你想获取特定的资源,你可以使用 kubectl get<resource-name> <obj-name>.
默认情况下,kubectl 使用可读打印来查看来自 API 服务器的响应,缩略的信息删除了对象的许多细节,以将每个对象放在一个终端行上。获得更多信息的一种方法是在较长的行上添加 ‑o wide 标志,它提供更多详细信息。如果要查看完整的对象,还可以分别使用 ‑o json 或 ‑o yaml 标志将对象查看为原始 JSON 或 YAML。
操纵 kubectl 输出的一个常见选项是删除headers,这在将 kubectl 与 Unix pipes(例
如,kubectl … | awk …)结合使用时通常很有用。如果指定 ‑‑no‑headers 标志,kubectl
将跳过顶部头部文件(headers),并且直接生成可读表