Question about Similarity vs Dissimilarity Matrix
A similarity is larger if the objects are more similar.

A dissimilarity is larger if the objects are less similar.

This sounds trivial, but if you get the sign wrong, you suddenly search for the worst rather than the best solution...

It's easy to see that a distance is always a dissimilarity.

K-medoids could be implemented for similarities, but I am not aware of any implementation that does not expect the data to be a dissimilarity. It may be fine to simply pass -similarity to many implementations. Because all they care for is to minimize a sum of dissimilarities, which can trivially be shown then to be equivalent to maximizing the sum of similarities.