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

Document the workaround for the Federated Ingress flapping healthchecks problem. #1772

Merged

Conversation

madhusudancs
Copy link
Contributor

@madhusudancs madhusudancs commented Nov 22, 2016

Ref issue: kubernetes/kubernetes#36327 and kubernetes/kubernetes#37306

cc @kubernetes/sig-cluster-federation @matchstick @bprashanth


This change is Reviewable

@madhusudancs madhusudancs added this to the 1.5 milestone Nov 22, 2016
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Nov 22, 2016
install the firewall rules manually to expose the targets of all the
underlying clusters in your federation for each Federated Ingress
object so that the health checks can pass and GCE L7 load balancer
is stable. This can be done using the `gcloud` command line tool as follows:
Copy link
Contributor

Choose a reason for hiding this comment

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

Link to gcloud?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

```

where:
1. `firewall-rule-name` can be any name.
Copy link
Contributor

Choose a reason for hiding this comment

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

unique name (amongst all existing firewall rules in the project)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it is implicit. gcloud/Cloud console will complain otherwise. Saying it should be unique here will add more confusion than clarity here.


where:
1. `firewall-rule-name` can be any name.
2. `[<service-nodeports>]` is the comma separated list of node ports corresponding to the services that backs the Federated Ingress.
Copy link
Contributor

Choose a reason for hiding this comment

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

backs -> back

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

is stable. This can be done using the `gcloud` command line tool as follows:

```shell
gcloud compute firewall-rules create <firewall-rule-name> \
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you want to mention that it is also possible to do this without having to install gcloud. They can use console.cloud.google.com.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

--network <network-name>
```

where:
Copy link
Contributor

Choose a reason for hiding this comment

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

Add a line break below. Otherwise it is not rendered as a bullet list (You can see that by clicking on "View")

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

where:
1. `firewall-rule-name` can be any name.
2. `[<service-nodeports>]` is the comma separated list of node ports corresponding to the services that backs the Federated Ingress.
3. [<target-tags>] is the comma separated list of the target tags assigned to the nodes in a kubernetes cluster.
Copy link
Contributor

Choose a reason for hiding this comment

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

optional: We can mention that they can leave it empty if all the clusters are in this project and all the nodes in this project are part of kubernetes clusters. (targets all nodes by default)

Copy link
Contributor

Choose a reason for hiding this comment

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

I would actually include this statement under "WARNING". Most users are running vms in the same project as the gke cluster and we don't want to end up opening all of that. Suggest always recommending the strictest form of security, unless it is so detrimental to UX (eg selinux).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@nikhiljindal @bprashanth I would rather not mention it at all. Why feed wrong ideas?

@matchstick
Copy link

@nikhiljindal Do we need to update the RELEASE NOTES also? That may be a place where folks will look for things like this. @kubernetes/sig-cluster-federation

Copy link
Contributor Author

@madhusudancs madhusudancs left a comment

Choose a reason for hiding this comment

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

where:
1. `firewall-rule-name` can be any name.
2. `[<service-nodeports>]` is the comma separated list of node ports corresponding to the services that backs the Federated Ingress.
3. [<target-tags>] is the comma separated list of the target tags assigned to the nodes in a kubernetes cluster.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@nikhiljindal @bprashanth I would rather not mention it at all. Why feed wrong ideas?

install the firewall rules manually to expose the targets of all the
underlying clusters in your federation for each Federated Ingress
object so that the health checks can pass and GCE L7 load balancer
is stable. This can be done using the `gcloud` command line tool as follows:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

is stable. This can be done using the `gcloud` command line tool as follows:

```shell
gcloud compute firewall-rules create <firewall-rule-name> \
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

--network <network-name>
```

where:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

```

where:
1. `firewall-rule-name` can be any name.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it is implicit. gcloud/Cloud console will complain otherwise. Saying it should be unique here will add more confusion than clarity here.


where:
1. `firewall-rule-name` can be any name.
2. `[<service-nodeports>]` is the comma separated list of node ports corresponding to the services that backs the Federated Ingress.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@nikhiljindal
Copy link
Contributor

lgtm, thx

@matchstick Yes thats a good idea.
@madhusudancs Can you include this in release notes when you send the PR for e2e test fix where you will use this workaround?

@madhusudancs
Copy link
Contributor Author

@nikhiljindal added a note in the e2e PR - kubernetes/kubernetes#37571. PR is still WIP.

Adding Tech Review LGTM label so that we can draw doc reviewers' attention here.

@devin-donnelly
Copy link
Contributor

@madhusudancs I added a minor commit for wording/clarity. There aren't any tech changes.

@devin-donnelly devin-donnelly merged commit ff3d922 into kubernetes:release-1.5 Dec 12, 2016
@madhusudancs
Copy link
Contributor Author

@devin-donnelly super! thanks!

@madhusudancs madhusudancs deleted the fed-ing-workaround branch January 25, 2017 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants