mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
kubectl: Support exposing deployments
This commit is contained in:
parent
ab93bbb135
commit
08d8843a9c
@ -946,6 +946,19 @@ __EOF__
|
|||||||
# TODO: Remove once deployment reaping is implemented
|
# TODO: Remove once deployment reaping is implemented
|
||||||
kubectl delete rc --all "${kube_flags[@]}"
|
kubectl delete rc --all "${kube_flags[@]}"
|
||||||
|
|
||||||
|
### Expose a deployment as a service
|
||||||
|
kubectl create -f examples/extensions/deployment.yaml "${kube_flags[@]}"
|
||||||
|
# Pre-condition: 3 replicas
|
||||||
|
kube::test::get_object_assert 'deployment nginx-deployment' "{{$deployment_replicas}}" '3'
|
||||||
|
# Command
|
||||||
|
kubectl expose deployment/nginx-deployment
|
||||||
|
# Post-condition: service exists and exposes deployment port (80)
|
||||||
|
kube::test::get_object_assert 'service nginx-deployment' "{{$port_field}}" '80'
|
||||||
|
# Clean-up
|
||||||
|
kubectl delete deployment/nginx-deployment service/nginx-deployment "${kube_flags[@]}"
|
||||||
|
# TODO: Remove once deployment reaping is implemented
|
||||||
|
kubectl delete rc --all "${kube_flags[@]}"
|
||||||
|
|
||||||
### Expose replication controller as service
|
### Expose replication controller as service
|
||||||
kubectl create -f examples/guestbook/frontend-controller.yaml "${kube_flags[@]}"
|
kubectl create -f examples/guestbook/frontend-controller.yaml "${kube_flags[@]}"
|
||||||
# Pre-condition: 3 replicas
|
# Pre-condition: 3 replicas
|
||||||
|
@ -228,6 +228,8 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
|||||||
return "", fmt.Errorf("the service has no pod selector set")
|
return "", fmt.Errorf("the service has no pod selector set")
|
||||||
}
|
}
|
||||||
return kubectl.MakeLabels(t.Spec.Selector), nil
|
return kubectl.MakeLabels(t.Spec.Selector), nil
|
||||||
|
case *extensions.Deployment:
|
||||||
|
return kubectl.MakeLabels(t.Spec.Selector), nil
|
||||||
default:
|
default:
|
||||||
gvk, err := api.Scheme.ObjectKind(object)
|
gvk, err := api.Scheme.ObjectKind(object)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -245,6 +247,8 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
|||||||
return getPorts(t.Spec), nil
|
return getPorts(t.Spec), nil
|
||||||
case *api.Service:
|
case *api.Service:
|
||||||
return getServicePorts(t.Spec), nil
|
return getServicePorts(t.Spec), nil
|
||||||
|
case *extensions.Deployment:
|
||||||
|
return getPorts(t.Spec.Template.Spec), nil
|
||||||
default:
|
default:
|
||||||
gvk, err := api.Scheme.ObjectKind(object)
|
gvk, err := api.Scheme.ObjectKind(object)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -330,7 +334,7 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
|||||||
},
|
},
|
||||||
CanBeExposed: func(kind unversioned.GroupKind) error {
|
CanBeExposed: func(kind unversioned.GroupKind) error {
|
||||||
switch kind {
|
switch kind {
|
||||||
case api.Kind("ReplicationController"), api.Kind("Service"), api.Kind("Pod"):
|
case api.Kind("ReplicationController"), api.Kind("Service"), api.Kind("Pod"), extensions.Kind("Deployment"):
|
||||||
// nothing to do here
|
// nothing to do here
|
||||||
default:
|
default:
|
||||||
return fmt.Errorf("cannot expose a %s", kind)
|
return fmt.Errorf("cannot expose a %s", kind)
|
||||||
|
Loading…
Reference in New Issue
Block a user