What you need to do:
1) Add a popup node (or any of it's descendants: windowDialog, ConfirmDialog, etc). The popup dialog is just an empty Control node and thus allows you to design your popup however you want. WindowDialog and co feature some helper things (such as a window title to move the window around, a close button, and so on), whereas the Popup node is bare-bones.
2) When an event happens in your game that should trigger your popup, do get_node("popup").popup(). This will toggle the popup visibility. For example, to show the popup when a button is clicked, you'd connect the pressed signal of the button to a script, then:
func _on_button_pressed():
get_node("popup").popup()
3) You can tick the "exclusive" box if you don't want your popup to disappear when the user clicks outside.
I attached an example project with three examples inside here: https://transfer.sh/YjrZB/popup.zip
the SuperSimplePopupExample is the simplest way; the two others are mildly more advanced ways of controlling popups