I answer this question often enough that I thought I should probably but a link to it in my blog.
This article tells you everything you need to know. However, what you may not realize is that by following the instructions in the article you are minimizing the amount of planned downtime while also giving yourself the opportunity to “test” the update on one node before your upgrade both nodes. If the upgrade does not go well on the first node, at least the application is still running on the second node until you can figure out what went wrong.
This is just one of the side benefits that you get when you cluster at the application layer vs. clustering at the hypervisor layer. If this were simply a VM in an availability group, you would have to schedule downtime to complete the application upgrade and hope that it all went well as the only failback is to restore the VM from backup. As I discussed in earlier articles, there is a benefit to clustering at the hypervisor level, but you have to understand what you are giving up as well.