返回首页
EN
H7 / SECURITY RESEARCH NOTES

使用Kubectl通过Kubernetes API Server获取Kubernetes Service账户Token信息

环境说明

IPHOSTNAMENOTE
10.10.10.91N/ACentOS

环境搭建

安装并启动docker

if [ "" == "`which docker`" ]; then echo "Docker Not Found"; if [ -n "`which apt-get`" ]; then sudo apt-get -y install docker ; elif [ -n "`which yum`" ]; then sudo yum -y install docker ; fi ; else echo "Docker installed"; fi
# 启动docker
systemctl start docker

安装kind

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.10.0/kind-linux-amd64
chmod +x ./kind
mv kind /usr/bin/kind

创建atomic集群

kind create cluster --name atomic-cluster
  • 如下图成功创建:

安装kubectl

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
mv kubectl /usr/bin/kubectl

创建pod

kubectl --context kind-atomic-cluster run atomic-pod --image=alpine --command -- sleep infinity
  • 如下图成功创建:

获取Kubernetes Service账户Token信息

kubectl --context kind-atomic-cluster exec atomic-pod -- cat /run/secrets/kubernetes.io/serviceaccount/token
  • 结果如下图获取到了Token信息: