views... display random node on click
First, it is important to note that true randomizing is an expensive operation.  The method involving Views will work with little effort, but if the site experiences very heavy traffic it could tax your database server to a point where it collapses.

The easiest way to accomplish this would be to create a View displayed as a block and filter by the appropriate content type.  Use a "Global: Random" sort to randomize the content and configure the paging options to show only one result.  Make sure you are displaying "fields" and not full nodes, then add the node title as a field.  It should be configured by default to link to its content, but verify this in the field's settings.  Instead of displaying the title of the page, you will want to display the text "Random" which can be accomplished by using the "Rewrite the output of this field" setting.  Then you can place the block where you want and style the link via CSS to look like a button.  Clicking on the button will then take you to a seemingly random node.

For a more scalable solution, you might want to move away from Views and leverage JavaScript for the randomizing.  On the backend you would queue up a handful of nodes and have JavaScript decide which one to display, thus taking the randomizing task off of the database.  It will be limited to the handful of nodes you pre-select, but your database will thank you in the long run.