The first app I ever ported to k8s was an existing ruby app that worked as an URL shortener. I could already run it locally. The platform team had put up a cluster in the staging environment to test on and a private docker image repo on AWS. The steps to get it onto the cluster were roughly:
1. Write a dockerfile for the service and test if I can run the service locally in docker.
2. Push the dockerfile to AWS.
3. Cobble together Deployment, Service and Ingress yaml files from reading tutorials and docs, then apply those to the cluster and observe what happens. Repeat until it works.
4. We slowly iterated our tooling and yamls as we learned more.