<p>I want to deploy a simple containerized app on GCE. I've created a deployment file and a service file.  The latter includes <code>type: NodePort</code> and <code>"ports": [{"port": 443, "targetPort": "myapp-port", "protocol": "TCP"}]</code> declarations.</p>

<p>After running <code>kubectl create -f deployment.json</code> and <code>kubectl create -f service.json</code>, the deployment (including pods and replica sets) and service are created.  However, the service is not visibly externally.  How do I make it so?  Preferably I would want to make this change in the <code>service.json</code> file, so it's under revision control.</p>

<p>Probably because you missed</p>

<pre><code>spec:
  type: LoadBalancer
</code></pre>

<p><a href="http://kubernetes.io/docs/user-guide/load-balancer/" rel="nofollow noreferrer">http://kubernetes.io/docs/user-guide/load-balancer/</a></p>
