进入 k8s 部署的 pod
由于想要进入 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 namespace
(
namespace
填写想要进入的 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
版权归原作者 CSPsy 所有, 如有侵权,请联系我们删除。