How can I integrate my application with Kubernetes cluster running Docker containers?

This is more of a research question. If it does not meet the standards of SO, please let me know and I will ask elsewhere.

I am new to Kubernetes and have a few basic questions. I have read a lot of doc on the internet and was hoping someone can help answer few basic questions.

I am trying to create an integration with Kubernetes (user applications running inside Docker containers to be precise) and my application that would act as a backup for certain data in the containers.

  1. My application currently runs in AWS. Would the Kube cluster need to run in AWS as well ? Or can it run in any cloud service or even on-prem as long as the APIs are available ?

  2. My application needs to know the IP of the Master node API server to do POST/GET requests and nothing else ?

  3. For authentication, can I use AD (my application uses AD today for a few things). That would also give me Role based policies for each user. Or do I have to use the Kube Token Reviewer API for authentication always ?

  4. Would the applications running in Kubernetes use the APIs I provide to communicate with my application ?

  5. Would my application use POST/GET to communicate with the Kube Master API server ? Do I need to use kubectl for this and above #4 ?

Thanks for your help.

Source: StackOverflow