我使用YAML
文件将容器部署到Kubernetes
上,并在托管的机器上使用一些复制因子。
apiVersion: apps/v1
kind: Deployment
metadata:
name: mojo-deployment
labels:
app: mojo
spec:
selector:
matchLabels:
app: mojo
replicas: 3
template:
metadata:
labels:
app: mojo
spec:
containers:
- name: mojo
image: mojo:1.0.1
ports:
- containerPort: 9000
---
#Services Info
apiVersion: v1
kind: Service
metadata:
name: mojo-services
spec:
selector:
app: mojo
ports:
- protocol: TCP
port: 80
targetPort: 9376
---
#Ingress Configuration
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: mojo-ingress
annotations:
kubernetes.io/ingress.class: mojo
spec:
backend:
serviceName: mojo-services
servicePort: 80
步骤:
docker image ls
给我看了一个图像id。docker build
命令在容器上部署映像。我需要这么做吗?或者kubectl
服务会处理它。kubectl apply -f Prod.yaml
。这说明部署.mojo/mojo-部署创建服务/mojo-服务创建inress.networking.k8s.io/mojo创建
kubectl get service
返回kubectl get pod
返回kubectl get deployment
返回有问题吗?
YAML
文件之前,我需要构建容器吗?我试过了,但kubernetes
还是没有跑。Pending
状态。pending
状态。Ingress
,但无法访问它。发布于 2019-12-20 05:03:54
为了使部署工作,您必须在注册表中推送映像。Kubernetes不处理图像(即建筑、推送.)。
尝试一下kubectl describe deployment mojo-deployment
,您将获得更多关于为什么要挂起的信息(当然,因为它不知道如何获得您的Docker映像)。
发布于 2019-12-20 06:28:55
https://devops.stackexchange.com/questions/9912
复制相似问题