Puede conectarse mediante SSH a un nodo de clúster de Tanzu Kubernetes como vmware-system-user
con una clave privada.
Puede conectarse mediante SSH a cualquier nodo del clúster de Tanzu Kubernetes como usuario vmware-system-user
. El secreto que contiene la clave privada SSH se denomina CLUSTER-NAME-ssh
. Para obtener más información, consulte Obtener los secretos del clúster de Tanzu Kubernetes.
Para conectarse a un nodo del clúster de Tanzu Kubernetes a través de SSH mediante una clave privada, cree un pod de vSphere de Jump Box en el clúster supervisor.
Procedimiento
- Conéctese al clúster supervisor.
- Cree una variable de entorno denominada NAMESPACE cuyo valor sea el nombre del espacio de nombres de vSphere donde se aprovisiona el clúster de Tanzu Kubernetes de destino.
export NAMESPACE=VSPHERE-NAMESPACE
- Cambie el contexto a la instancia de espacio de nombres de vSphere en la que se aprovisiona el clúster de Tanzu Kubernetes.
kubectl config use-context $NAMESPACE
- Consulte el objeto secreto
TKGS-CLUSTER-NAME-ssh
.
- Cree una instancia de pod de vSphere mediante las siguientes especificaciones
jumpbox.yaml
.
Reemplace el valor de
namespace
YOUR-NAMESPACE
por el
espacio de nombres de vSphere en el que se aprovisiona el clúster de destino. Reemplace el valor de
secretName
YOUR-CLUSTER-NAME
-ssh con el nombre del clúster de destino.
apiVersion: v1
kind: Pod
metadata:
name: jumpbox
namespace: YOUR-NAMESPACE #REPLACE
spec:
containers:
- image: "photon:3.0"
name: jumpbox
command: [ "/bin/bash", "-c", "--" ]
args: [ "yum install -y openssh-server; 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
resources:
requests:
memory: 2Gi
volumes:
- name: ssh-key
secret:
secretName: YOUR-CLUSTER-NAME-ssh #REPLACE
- Implemente el pod aplicando la especificación
jumpbox.yaml
.
kubectl apply -f jumpbox.yaml
- Compruebe que el pod se esté ejecutando.
NAME READY STATUS RESTARTS AGE
jumpbox 1/1 Running 0 3h9m
Nota: También debe ver el pod de Jump Box en vCenter en el
espacio de nombres de vSphere.
- Cree una variable de entorno con la dirección IP del nodo de clúster de destino ejecutando el siguiente conjunto de comandos.
- Obtenga el nombre de la máquina virtual de destino.
kubectl get virtualmachines
- Cree la variable de entorno
VMNAME
cuyo valor sea el nombre del nodo de destino.
export VMNAME=NAME-OF-THE-VIRTUAL-MACHINE
- Cree la variable de entorno
VMIP
cuyo valor sea la dirección IP de la máquina virtual del nodo de destino.
export VMIP=$(kubectl -n $NAMESPACE get virtualmachine/$VMNAME -o jsonpath='{.status.vmIp}')
- Para utilizar SSH en el nodo del clúster mediante el pod de Jump Box, ejecute el siguiente comando.
kubectl exec -it jumpbox /usr/bin/ssh vmware-system-user@$VMIP
Importante: La creación del contenedor e instalación del software tarda aproximadamente 60 segundos. Si recibe un "mensaje de error al ejecutar el comando en el contenedor: container_linux.go:370: starting container process caused: exec: "/usr/bin/ssh": stat /usr/bin/ssh: no such file or directory", vuelva a intentar el comando pasados unos segundos.
- Para confirmar la autenticidad del host, introduzca yes.
The authenticity of host '10.249.0.999 (10.249.0.999)' can't be established.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.249.0.999' (ECDSA) to the list of known hosts.
Welcome to Photon 3.0
- Confirme que ha iniciado sesión en el nodo de destino como
vmware-system-user
.
Por ejemplo, el siguiente resultado indica que ha iniciado sesión en un nodo del plano de control como usuario del sistema.
vmware-system-user@tkgs-cluster-1-control-plane-66tbr [ ~ ]$
- Realice las operaciones deseadas en el nodo.
Atención: Es posible que deba usar
sudo
o
sudo su
para realizar ciertas operaciones en el nodo, como reiniciar el kubelet.
- Cuando termine, escriba exit para cerrar la sesión de SSH en pod de vSphere.
- Para eliminar el pod, ejecute el comando
kubectl delete pod jumpbox
.
Precaución: Por motivos de seguridad, considere la posibilidad de eliminar el pod de Jumpbox después de haber realizado su trabajo. Si es necesario, puede volver a crearla más adelante.