当我尝试执行此命令kubectl apply -f mydeployment.yaml时,我收到错误错误:SchemaError(io.k8s.api.core.v1.ContainerState(:无效对象没有其他属性。我该怎么做才能将我的 aspnetcore webapi 成功部署到我的本地 Kubernetes 集群?
我已经尝试通过运行命令choco升级minikube来升级minikube。它说我已经有了最新版本。Minikube v1.0.0 是根据您的来源提供的最新版本。
我创建的 deployment.yaml 看起来像这样。
apiVersion: apps/v1
kind: Deployment
metadata:
name: app
labels:
app: app
spec:
replicas: 3
selector:
matchLabels:
app: app
template:
metadata:
labels:
app: app
spec:
containers:
name: myfirstdockerapi
image: myfirstdockerapi
ports:
- containerPort: 80
在开始之前清理所有内容:
rm -rf ~/.minikube
根据文档:
您必须使用介于 您的集群。例如,v1.2 客户端应使用 v1.1、v1.2 和 v1.3 主人。使用最新版本的 kubectl 有助于避免不可预见的问题。
Github上的Minikube资源可以在这里找到:
为避免交互问题 - 将默认 Kubernetes 版本更新为 v1.14.0 #3967 注意:,我们还建议将 kubectl 更新到最新版本 (v1.13+(
有关最新版本的minikube,请在此处遵循官方文档。
Kubernetes 博客 - 在这里,
这里堆叠低,
巧克力在这里,
在附加的部署中存在缩进问题(已更正(,因此请重试。
spec:
containers:
- name: myfirstdockerapi
image: myfirstdockerapi
ports:
- containerPort: 80
containers
元素需要一个列表,因此您需要在每个条目前面加上短划线。
apiVersion: apps/v1
kind: Deployment
metadata:
name: app
labels:
app: app
spec:
replicas: 3
selector:
matchLabels:
app: app
template:
metadata:
labels:
app: app
spec:
containers:
- name: myfirstdockerapi
image: myfirstdockerapi
ports:
- containerPort: 80
如果您不确定是否可以始终使用 kubectl 来验证您的文件而无需创建它: kubectl apply -f sample.yaml --validate --dry-run
以防万一,请确保您的 kubectl 版本与您的 kubernetes 集群版本匹配。