Upside-down triangle as node shape

The solution is to use shape border rotate instead of rotate:

enter image description here

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture} [
    triangle/.style = {fill=blue!20, regular polygon, regular polygon sides=3 },
    node rotated/.style = {rotate=180},
    border rotated/.style = {shape border rotate=180}
  ]
    \node[triangle, node rotated] (a) {Bad triangle};
    \node[triangle, border rotated, right=6cm of a] {Good triangle};
\end{tikzpicture}
\end{document}

This is a simpler code for the answer above using shape border rotate:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}
 \node[regular polygon,regular polygon sides=3, draw, shape border rotate=180] at (0,0){Non-rotated text};
\end{tikzpicture}
\end{document}