Deploys a single replica of your Angular application inside a pod. The pod uses the Docker image built and pushed by your GitHub Actions CI/CD workflow
(refer to [Automate your builds with GitHub Actions](configure-github-actions.md)).
The container listens on port `8080`, which is typically used by [Nginx](https://nginx.org/en/docs/) to serve your production Angular app.
- Service (NodePort)
Exposes the deployed pod to your local machine.
It forwards traffic from port `30001` on your host to port `8080` inside the container.
This lets you access the application in your browser at [http://localhost:30001](http://localhost:30001).
> [!NOTE]
> To learn more about Kubernetes objects, see the [Kubernetes documentation](https://kubernetes.io/docs/home/).
---
## Deploy and check your application
Follow these steps to deploy your containerized Angular app into a local Kubernetes cluster and verify that it’s running correctly.
### Step 1. Apply the Kubernetes configuration
In your terminal, navigate to the directory where your `angular-sample-kubernetes.yaml` file is located, then deploy the resources using:
```console
$ kubectl apply -f angular-sample-kubernetes.yaml
```
If everything is configured properly, you’ll see confirmation that both the Deployment and the Service were created:
```shell
deployment.apps/angular-sample created
service/angular-sample-service created
```
This confirms that both the Deployment and the Service were successfully created and are now running inside your local cluster.
### Step 2. Check the Deployment status
Run the following command to check the status of your deployment:
```console
$ kubectl get deployments
```
You should see output similar to the following:
```shell
NAME READY UP-TO-DATE AVAILABLE AGE
angular-sample 1/1 1 1 14s
```
This confirms that your pod is up and running with one replica available.
### Step 3. Verify the Service exposure
Check if the NodePort service is exposing your app to your local machine:
```console
$ kubectl get services
```
You should see something like:
```shell
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE