当我尝试执行此命令kubectl apply -f mydeployment.yaml时,出现错误错误:SchemaError(io.k8s.api.core.v1.ContainerState):无效的对象没有其他属性。如何将aspnetcore webapi成功部署到本地Kubernetes群集?
我已经尝试通过运行choco upgrade 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
答案 0 :(得分:0)
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集群的版本匹配。
答案 1 :(得分:0)
开始之前请清理所有内容:
rm -rf ~/.minikube
根据文档:
您所使用的kubectl版本的版本之间必须存在一个较小的差异 您的集群。例如, v1.2客户端应与 v1.1,v1.2和v1.3 一起使用 主。使用最新版本的kubectl有助于避免无法预料的问题。
在Github上的Minikube资源,您可以找到here:
为避免交互问题-将Kubernetes的默认版本更新为v1.14.0#3967 注意:,我们还建议将kubectl更新到最新版本(v1.13 +)
有关minikube的最新版本,请遵循官方文档here。
Kubernetes博客-here,
Stackoverlow here,
巧克力here,
在附加的部署中,存在缩进问题(已纠正),因此请重试。
spec:
containers:
- name: myfirstdockerapi
image: myfirstdockerapi
ports:
- containerPort: 80