This is my Gradio app’s repo.
I’m trying to deploy it with Docker Kubernetes. For that, I’ve tried 2 different YAML files. One is this:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
and the other is this:
apiVersion: apps/v1
kind: Deployment
metadata:
name: bb-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
bb: web
template:
metadata:
labels:
bb: web
spec:
containers:
- name: bb-site
image: getting-started
imagePullPolicy: Never
---
apiVersion: v1
kind: Service
metadata:
name: bb-entrypoint
namespace: default
spec:
type: NodePort
selector:
bb: web
ports:
- port: 3000
targetPort: 3000
nodePort: 30001
With both these yaml files, the command gets executed successfully:
>>> kubectl apply -f yaml_file_name.yaml
deployment.apps/app_name created
service/app-entrypoint created
However, when I check the deployments, I get 0 ready:
>>> kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
layoutlm-demo 0/1 1 0 90s
nginx-deployment 3/3 3 3 13m
And when I check the services, I don’t get any external IPs:
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 20m
layoutlm-entrypoint NodePort 10.100.255.103 <none> 3000:30001/TCP 10m
layoutlm-v2-demo NodePort 10.101.117.217 <none> 8080:30000/TCP
Since I’m extremely new to Kubernetes (this is my first try in fact), I really have no clue about what the yaml file should contain. So, could anyone here guide me to the correct yaml file to use for this app?
Or, if one of these yaml files I’m using is correct, then could you point out what’s the error and how to fix it?