How to patch service pack for sql server clustering?

Patch the passive node first then reboot the node and then fail over instance on that node and then in similar manner patch the other node. This you can apply for sql 2008 and above.

In SQL Server 2012, there is a Cluster Aware Update that will automatically Update all the nodes.

Start applying the service pack on the passive node and then failover the instance to passive node after the installation is over on the passive node now start applying the service pack on active node and again fail-over the node.

On SQL Server 2008/ 2008R2 : Apply patches/hot-fixes on passive node(N2) first then reboot the server. once the passive node(N2) is up, fail-over the resources from active node(N1) to passive node(N2), perform the same steps on N1 node and fail-over the resources from N2 to N1. On SQL Server 2005 : Apply patches/hot-fixes only on active node(N1), same will be applied on passive node(N2) too. On SQL Server 2005 we need down time during this activity. But on SQL server 2008/2008R2 we don't need down time(downtime is minimal only during fail-over).