我刚刚开始学习kubernetes,在每个教程中,作者通常使用"kubectl . deploymenst“来控制新创建的部署。现在,使用这些命令(例如kubectl get deploymets),我总是得到响应No resources found in default namespace.,我必须使用"pods"而不是“部署”来使事情正常工作(工作正常)。
现在我的问题是,是什么导致了这种情况,使用部署或吊舱有什么区别?我已经把码头司机安排在第一辆小货车里了,这跟这事有关吗?
发布于 2020-05-07 16:01:14
首先,让我们来复习一些术语。
Pod --它是Kubernetes的基本构造块。它使用共享存储/网络对一个或多个容器(例如Docker容器)进行分组,并对如何运行容器进行规范。
部署 -它是一个控制器,它封装Pod/s并管理其生命周期,也就是说,将实际状态转换为所需的状态。在部署和Pod之间还有一个层,即 ReplicaSet:ReplicaSet的目的是维护在任何给定时间运行的一组副本Pods。因此,它通常用于保证指定数量的相同Pods的可用性。下面是可视化的内容:

资料来源:我画的!
在你的例子中,可能发生的事情:
kubectl get deployment时,您看不到任何资源。注意,当您创建部署时,它依次为您创建一个ReplicaSet,并创建定义的吊舱。kubectl get deploy NAME_OF_DEPLOYMENT -n NAME_OF_NAMESPACE中的部署
更多信息,以澄清您的概念:
来源位于spec.template内部的部分下面,如果您要手动创建它,而不是使用部署路由,那么这个部分应该是您的POD清单。现在,就像我前面所说的那样,部署是您的荚的包装器,因此您在路径spec.template之外看到的任何东西都是您需要定义的配置,您需要根据您想要管理的方式(缩放、关联等)来定义配置。
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发布于 2020-05-07 15:47:31
https://stackoverflow.com/questions/61661977
复制相似问题