之前写过一篇介绍了工具加速云原生Java开发(一)

时间:2022-06-03 19:05:37    阅读: 次    来源:网络整理  作者:佚名

常用的几款工具让 Kubernetes 集群上的工作更容易

在介绍加速云原生 Java 开发的工具之前,我写了一篇文章。

其实日常工作中对集群的操作有很多。今天,我将介绍我使用的工具。

kubectl 别名

最常用的工具,我稍微修改了一下,增加了StatefulSet的支持。

这是我的,基于。

比如输出一个pod的json,kgpoojson xxx相当于kubectl get pod xxx -o json。

搭配 jq 效果更好。

语法解释命令:resources:flags:value flags(应该在最后):kubectx + kubens

在这里安装

kubectx 用于不同集群之间的快速切换。如果你使用 kubectl,你需要:

# context 列表
kubectl config current-context 
# 设置 context
kubectl config use-context coffee

常用的几款工具让 Kubernetes 集群上的工作更容易

kubens 是一个在不同命名空间之间快速切换的工具。使用 kubectl,您需要:

# namespace 列表
kbuectl get ns
# kubectl config set-context --current --namespace=kube-system

常用的几款工具让 Kubernetes 集群上的工作更容易

k9s

是的,只有 k8s 多了一个 1。

k9s 提供了一个终端 UI,用于编辑和与 Kubernetes 集群交互。比如我常用的:

启动方式

# 指定 namespace 运行
k9s -n mycoolns
# 指定 context 运行
k9s --context coolCtx
# 只读模式运行
k9s --readonly

常用的几款工具让 Kubernetes 集群上的工作更容易

键入问号“?”您可以打开快速操作指南。

常用的几款工具让 Kubernetes 集群上的工作更容易

严厉

stern 可用于跟踪集群上多个 pod 和一个 pod 中多个容器的日志。不同的 pod 和容器用不同的颜色区分空间日志转载软件,方便调试。

例如,使用命令 stern -l tier=control-plane -n?? kube-system 输出 kube-system 命名空间中控制平面 (label tier=control-plane) pod 的日志。

常用的几款工具让 Kubernetes 集群上的工作更容易

命令行选项

Tail multiple pods and containers from Kubernetes
Usage:
  stern pod-query [flags]
Flags:
  -A, --all-namespaces             If present, tail across all namespaces. A specific namespace is ignored even if specified with --namespace.
      --color string               Color output. Can be 'always', 'never', or 'auto' (default "auto")
      --completion string          Outputs stern command-line completion code for the specified shell. Can be 'bash' or 'zsh'
  -c, --container string           Container name when multiple containers in pod (default ".*")
      --container-state string     If present, tail containers with status in running, waiting or terminated. Default to running. (default "running")
      --context string             Kubernetes context to use. Default to current context configured in kubeconfig.
  -e, --exclude strings            Regex of log lines to exclude
  -E, --exclude-container string   Exclude a Container name
      --field-selector string      Selector (field query) to filter on. If present, default to ".*" for the pod-query.
  -h, --help                       help for stern
  -i, --include strings            Regex of log lines to include
      --init-containers            Include or exclude init containers (default true)
      --kubeconfig string          Path to kubeconfig file to use
  -n, --namespace strings          Kubernetes namespace to use. Default to namespace configured in Kubernetes context. To specify multiple namespaces, repeat this or set comma-separated value.
  -o, --output string              Specify predefined template. Currently support: [default, raw, json] (default "default")
  -l, --selector string            Selector (label query) to filter on. If present, default to ".*" for the pod-query.
  -s, --since duration             Return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to 48h.
      --tail int                   The number of lines from the end of the logs to show. Defaults to -1, showing all logs. (default -1)
      --template string            Template to use for log lines, leave empty to use --output flag
  -t, --timestamps                 Print timestamps
      --timezone string            Set timestamps to specific timezone (default "Local")
  -v, --version                    Print the version and exit

镜头

Lens 是一个控制 Kubernetes 的 IDE,开源免费。

消除集群操作的复杂性,提供实时可观察性空间日志转载软件,便于故障排除,支持多个系统的桌面客户端,并且与多个集群兼容。

常用的几款工具让 Kubernetes 集群上的工作更容易

基础设施应用

Infra App 类似于 Lens,UI 比 Lens 好,但功能弱很多,类似于 Lens 的只读模式。

免费版和付费版的区别只是支持的集群数量,免费版只支持一个集群。

常用的几款工具让 Kubernetes 集群上的工作更容易

kubefwd

kubefwd,这个一直安装但是很少用,因为应用之间的访问不经过service,但是偶尔做一些实验的时候会有用。

kubefwd 是一个命令行工具,用于对 Kubernetes 中指定命名空间下的全部或部分 pod 进行端口转发。 kubefwd 使用本地环回 IP 地址转发需要访问的服务,并使用与服务相同的端口。 kubefwd 会将服务的域条目临时添加到 /etc/hosts 文件中。

启动 kubefwd 后,就可以像在 Kubernetes 集群中一样,使用服务名和端口在本地访问对应的应用程序。

常用的几款工具让 Kubernetes 集群上的工作更容易

常用的几款工具让 Kubernetes 集群上的工作更容易

总结

使用工具可以提高效率,但也不是不可能或缺失。

如果您有其他工具,请留言。

文章将发布在云原生指南北方公众号,关注获取最新文档。

热门阅读
相关推荐