package ssh

import "k8s.io/kubernetes/test/e2e/framework/ssh"

Index

Constants

const (
	// SSHPort is tcp port number of SSH
	SSHPort = "22"
)

Functions

func GetSigner

func GetSigner(provider string) (ssh.Signer, error)

GetSigner returns an ssh.Signer for the provider ("gce", etc.) that can be used to SSH to their nodes.

func IssueSSHCommand

func IssueSSHCommand(ctx context.Context, cmd, provider string, node *v1.Node) error

IssueSSHCommand tries to execute a SSH command

func LogResult

func LogResult(result Result)

LogResult records result log

func NodeSSHHosts

func NodeSSHHosts(ctx context.Context, c clientset.Interface) ([]string, error)

NodeSSHHosts returns SSH-able host names for all schedulable nodes. If it can't find any external IPs, it falls back to looking for internal IPs. If it can't find an internal IP for every node it returns an error, though it still returns all hosts that it found in that case.

Types

type Result

type Result struct {
	User   string
	Host   string
	Cmd    string
	Stdout string
	Stderr string
	Code   int
}

Result holds the execution result of SSH command

func IssueSSHCommandWithResult

func IssueSSHCommandWithResult(ctx context.Context, cmd, provider string, node *v1.Node) (*Result, error)

IssueSSHCommandWithResult tries to execute a SSH command and returns the execution result

func NodeExec

func NodeExec(ctx context.Context, nodeName, cmd, provider string) (Result, error)

NodeExec execs the given cmd on node via SSH. Note that the nodeName is an sshable name, eg: the name returned by framework.GetMasterHost(). This is also not guaranteed to work across cloud providers since it involves ssh.

func SSH

func SSH(ctx context.Context, cmd, host, provider string) (Result, error)

SSH synchronously SSHs to a node running on provider and runs cmd. If there is no error performing the SSH, the stdout, stderr, and exit code are returned.

Source Files

ssh.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
16 packages
Last checked
3 hours ago

Tools for package owners.