k8s 使用小记:如何进入 k8s 部署的 pod

薛兴德
2023-12-01

由于想要进入 k8s 部署的 Postgre 数据库上查看存储的信息,想到一个方法 ------ 进入对应的 pod 节点,在 pod 节点里面执行 sql 语句,来进行查看。

这里顺带附一篇 k8s 上部署 pg 数据库的教程:How to Deploy PostgreSQL on Kubernetes


1. 安装 kubectl

要想要对 k8s 的集群进行操作,首先我们需要安装 kubectl 这个工具:安装教程


2. 连接 k8s 集群

安装完成之后,我们需要与 k8s 集群进行连接,它的连接方式:

2.1)之前没有配置过访问凭证

  • 将服务器上的 k8s 集群的 kubeconfig 访问凭证的内容放到 ~/.kube/config

因为 kubectl 默认会去 ~/.kube/config 中寻找配置,所以这个名字一定要是 config!!!

  • 也可以通过设置 export KUBECONFIG=config 所在路径 来进行配置。
    e.g.,export KUBECONFIG=~/valconf/kubeconf,这个时候,kubeconfig 的文件名则无所谓,可以任意取

2.2)之前配置过访问凭证

如果之前已经有过访问凭证,想要加新的,则:

KUBECONFIG=~/.kube/config:新的路径 kubectl config view --merge --flatten > ~/.kube/config
export KUBECONFIG=~/.kube/config

然后进行查看 k8s 集群,并进行切换,就到新集群下了

  • 查看 k8s 集群:kubectl config get-contexts
  • 切换 k8s 集群:kubectl config use-context 集群名

3.  进入 k8s 的 pod

我们可以先执行 kubectl get pod -n namespacenamespace 填写想要进入的 pod 所在的命名空间)来进行查看当前命名空间上部署的 pod
然后执行: kubectl exec -it podName -n namespace -- /bin/sh 命令,即可进入部署的 pod!

  • kubectl exec:在容器中执行命令(可以阅读 k8s 参考文档来进行 kubectl 一些命令学习
  • podName:想要进入的 pod 的名字,上一个步骤查看中会列举出来
  • namespace:pod 对应的命名空间
  • -it-i(将控制台输入发送到容器)和 -t(将标准输入控制台作为容器的控制台输入)结合
  • bin/sh:一个 shell command
 类似资料: