Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update service doc with AWS ELB SSL annotations #507

Merged
merged 1 commit into from
Jul 7, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions docs/user-guide/services/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,44 @@ with the user-specified `loadBalancerIP`. If the `loadBalancerIP` field is not s
an ephemeral IP will be assigned to the loadBalancer. If the `loadBalancerIP` is specified, but the
cloud provider does not support the feature, the field will be ignored.

#### SSL support on AWS
For partial SSL support on clusters running on AWS, starting with 1.3 two

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

427: (blank line)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is 1.3-related only, you should technically be documenting it in the release-1.3 branch. @bgrant0607

annotations can be added to a `LoadBalancer` service:

```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

430: ```json

"metadata": {
"name": "my-service",
"annotations": {
"service.beta.kubernetes.io/aws-load-balancer-ssl-cert": "arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012"
}
},
```

The first specifies which certificate to use. It can be either a
certificate from a third party issuer that was uploaded to IAM or one created
within AWS Certificate Manager.

```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

443: ```json

"metadata": {
"name": "my-service",
"annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol=": "(https|http|ssl|tcp)"
}
},
```

The second annotation specificies which protocol a pod speaks. For HTTPS and
SSL, the ELB will expect the pod to authenticate itself over the encrypted
connection.

HTTP and HTTPS will select layer 7 proxying: the ELB will terminate
the connection with the user, parse headers and inject the `X-Forwarded-For`
header with the user's IP address (pods will only see the IP address of the
ELB at the other end of its connection) when forwarding requests.

TCP and SSL will select layer 4 proxying: the ELB will forward traffic without
modifying the headers.

### External IPs

If there are external IPs that route to one or more cluster nodes, Kubernetes services can be exposed on those
Expand Down