What is the best practice to adapt for versioning in a Microservice Based Architecture, in terms of supporting multiple versioned deployment of the same service during runtime a
There is no best practice. It's going to depend on how versioning should work in your specific case.
Shawn Wildermuth discussed about api versioning in a pluralsight video. Not sure about your microservice implementation details, but if you are using rest api, you may try the versioning the actual payload
You could also do this with an Accept header. Accept allows for you to annotate the Accept header with a version type against the API you want to look at. And you can also do this with content type as well. The application/vnd for vendor specifies the version of the returning data, so that when the application then sends it, it knows what version of the payload it is. And this is an important technique in versioning, because you have to version both the API, the actual URI calls, as well as the shape of the data that's coming back.
If you find a mechanism that works well in your environment and with your customers and users, go ahead and use that.