plotting – How to symmetrically color using ColorFunction in ArrayPlot?

I am trying to make and colour an ArrayPlot and since these data points are supposed to represent the phase of a system, I want to make the colouring symmetric such that for example $0$ and $2pi$ are represented by the same colour since those points are equivalent. In general, I want the data points $epsilon$ and $2pi-epsilon$ to be represented by the same colour.

ArrayPlot[RandomReal[2 Pi, {100, 100}], PlotLegends -> Automatic, ColorFunction -> "Rainbow"]

The output of the code I have above looks like this:

enter image description here