Spinnaker is a powerful CD tool and it is getting more feature rich and stable with each release. If you are looking for an open source option, I’d definitely give it a try. My experience is with k8s providers, so I can’t really speak about VM based deployments — I think you are looking at using VM image bakery.
One way is to manually create the resources using k8 manifest files.
You can browse this link to get started with manual installation of cert-manger: https://github.com/jetstack/cert-manager/tree/master/contrib/manifests/cert-manager
For nginx ingress, follow this link: https://kubernetes.github.io/ingress-nginx/deploy/
It looks like a formatting issue. On line 6 of the YAML, make sure that the hyphen before the word kind is a single hyphen (“-”)
You can use this online YAML linter to validate YAML http://www.yamllint.com/