| ... | ... |
@@ -23,7 +23,8 @@ var ( |
| 23 | 23 |
Open a remote shell session to a container |
| 24 | 24 |
|
| 25 | 25 |
This command will attempt to start a shell session in a pod for the specified resource. |
| 26 |
- It works with pods, deployment configs, jobs, daemon sets, and replication controllers. |
|
| 26 |
+ It works with pods, deployment configs, deployments, jobs, daemon sets, replication controllers |
|
| 27 |
+ and replica sets. |
|
| 27 | 28 |
Any of the aforementioned resources (apart from pods) will be resolved to a ready pod. |
| 28 | 29 |
It will default to the first container if none is specified, and will attempt to use |
| 29 | 30 |
'/bin/sh' as the default shell. You may pass any flags supported by this command before |
| ... | ... |
@@ -976,6 +976,42 @@ func (f *Factory) PodForResource(resource string, timeout time.Duration) (string |
| 976 | 976 |
return "", err |
| 977 | 977 |
} |
| 978 | 978 |
return pod.Name, nil |
| 979 |
+ case extensions.Resource("deployments"):
|
|
| 980 |
+ kc, err := f.Client() |
|
| 981 |
+ if err != nil {
|
|
| 982 |
+ return "", err |
|
| 983 |
+ } |
|
| 984 |
+ d, err := kc.Extensions().Deployments(namespace).Get(name) |
|
| 985 |
+ if err != nil {
|
|
| 986 |
+ return "", err |
|
| 987 |
+ } |
|
| 988 |
+ selector, err := unversioned.LabelSelectorAsSelector(d.Spec.Selector) |
|
| 989 |
+ if err != nil {
|
|
| 990 |
+ return "", err |
|
| 991 |
+ } |
|
| 992 |
+ pod, _, err := cmdutil.GetFirstPod(kc, namespace, selector, timeout, sortBy) |
|
| 993 |
+ if err != nil {
|
|
| 994 |
+ return "", err |
|
| 995 |
+ } |
|
| 996 |
+ return pod.Name, nil |
|
| 997 |
+ case extensions.Resource("replicasets"):
|
|
| 998 |
+ kc, err := f.Client() |
|
| 999 |
+ if err != nil {
|
|
| 1000 |
+ return "", err |
|
| 1001 |
+ } |
|
| 1002 |
+ rs, err := kc.Extensions().ReplicaSets(namespace).Get(name) |
|
| 1003 |
+ if err != nil {
|
|
| 1004 |
+ return "", err |
|
| 1005 |
+ } |
|
| 1006 |
+ selector, err := unversioned.LabelSelectorAsSelector(rs.Spec.Selector) |
|
| 1007 |
+ if err != nil {
|
|
| 1008 |
+ return "", err |
|
| 1009 |
+ } |
|
| 1010 |
+ pod, _, err := cmdutil.GetFirstPod(kc, namespace, selector, timeout, sortBy) |
|
| 1011 |
+ if err != nil {
|
|
| 1012 |
+ return "", err |
|
| 1013 |
+ } |
|
| 1014 |
+ return pod.Name, nil |
|
| 979 | 1015 |
case extensions.Resource("jobs"):
|
| 980 | 1016 |
kc, err := f.Client() |
| 981 | 1017 |
if err != nil {
|