Tanzu: Kubernetes集群节点SSH登录
SSH登录Tanzu Kubernetes集群节点进行日常运维排错
环境介绍:
NameSpace: tkc-cluster
准备工作
创建名为 NAMESPACE 的环境变量,其值为 主管命名空间的名称。
export NAMESPACE=tkc-cluster
将上下文切换到置备了 主管命名空间集群的 Tanzu Kubernetes。
kubectl config use-context $NAMESPACE
运行以下 kubectl 命令以查看 YOUR-CLUSTER-NAME-ssh 密钥对象。
$ kubectl get secrets NAME TYPE DATA AGE default-token-qc2f8 kubernetes.io/service-account-token 3 10d tkc-cluster-default-image-pull-secret kubernetes.io/dockerconfigjson 1 9d tkc-cluster-default-image-push-secret kubernetes.io/dockerconfigjson 1 9d tkc-guest-cluster-ca Opaque 2 8d tkc-guest-cluster-ccm-token-kjw8d kubernetes.io/service-account-token 3 8d tkc-guest-cluster-encryption Opaque 1 8d tkc-guest-cluster-etcd Opaque 2 8d tkc-guest-cluster-kubeconfig Opaque 1 8d tkc-guest-cluster-proxy Opaque 2 8d tkc-guest-cluster-pvcsi-token-mcd5g kubernetes.io/service-account-token 3 8d tkc-guest-cluster-sa Opaque 2 8d tkc-guest-cluster-ssh kubernetes.io/ssh-auth 1 8d tkc-guest-cluster-ssh-password Opaque 1 8d
jumpbox.yaml
apiVersion: v1 kind: Pod metadata: name: jumpbox namespace: tkc-cluster #REPLACE YOUR-NAMESPACE spec: containers: - image: "photon:3.0" name: jumpbox command: [ "/bin/bash", "-c", "--" ] args: [ "yum install -y openssh-server openssh-clients; mkdir /root/.ssh; cp /root/ssh/ssh-privatekey /root/.ssh/id_rsa; chmod 600 /root/.ssh/id_rsa; while true; do sleep 30; done;" ] volumeMounts: - mountPath: "/root/ssh" name: ssh-key readOnly: true volumes: - name: ssh-key secret: secretName: tkc-guest-cluster-ssh #REPLACE YOUR-CLUSTER-NAME
获取节点IP
$ kubectl get virtualmachine NAME AGE tkc-guest-cluster-control-plane-6cfsf 8d tkc-guest-cluster-control-plane-drlqp 8d tkc-guest-cluster-control-plane-wmn2s 8d tkc-guest-cluster-workers-8k9c8-5576b69b67-rcsvd 29h tkc-guest-cluster-workers-8k9c8-5576b69b67-s7hch 8d tkc-guest-cluster-workers-8k9c8-5576b69b67-sb6ss 29h tkc-guest-cluster-workers-8k9c8-5576b69b67-tnxn2 8d tkc-guest-cluster-workers-8k9c8-5576b69b67-vxgt9 8d $ VMNAME=tkc-guest-cluster-control-plane-wmn2s $ export VMIP=$(kubectl -n $NAMESPACE get virtualmachine/$VMNAME -o jsonpath='{.status.vmIp}')
执行SSH
$ kubectl apply -f jumpbox.yaml $ kubectl exec -it jumpbox /usr/bin/ssh vmware-system-user@$VMIP ... 恭喜SSH登录成功
作者:一毛
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
不管遇到了什么烦心事,都不要自己为难自己;无论今天发生多么糟糕的事,都不应该感到悲伤。记住一句话:越努力,越幸运。
分类:
Kubernetes
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?