I see the following error when I run my deployment:
Error from server (NotFound): error when creating "n3deployment.yaml": namespaces "n2" not found
My n3deployment.yaml has no reference to n2?
Step By Step
c:\temp\k8s>kubectl get pods
No resources found.
c:\temp\k8s>kubectl get svc
No resources found.
c:\temp\k8s>kubectl get deployments
No resources found.
c:\temp\k8s>kubectl get namespaces
NAME STATUS AGE
default Active 20h
docker Active 20h
kube-public Active 20h
kube-system Active 20h
n3namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: n3
n3service.yaml
apiVersion: v1
kind: Service
metadata:
name: my-app-n3
namespace: n3
labels:
app: my-app-n3
spec:
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: http
protocol: TCP
selector:
app: my-app-n3
n3deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-n3
labels:
app: my-app-n3
spec:
replicas: 1
selector:
matchLabels:
app: my-app-n3
template:
metadata:
labels:
app: my-app-n3
spec:
containers:
- name: waiter
image: waiter:v1
ports:
- containerPort: 80
c:\temp\k8s>kubectl apply -f n3namespace.yaml
namespace "n3" created
c:\temp\k8s>kubectl apply -f n3service.yaml
service "my-app-n3" created
c:\temp\k8s>kubectl apply -f n3deployment.yaml
Error from server (NotFound): error when creating "n3deployment.yaml": namespaces "n2" not found
I used to have a namespace called n2
but, as you can see, it no longer exists.
Add namespace: n3 to deployment spec
I had previously created two contexts and my minikube cluster was set to still be in the n2
context. I deleted the context, re-ran the command and it worked.