Docker was written in go before go was fashionable. It was mainly written in go because it wasn't python or ruby and didn't want to participate in the language wars.
K8s is written in Go because Docker was in Go and sharing that dev community made a whole lot of sense.