azure - Azure kubernetes 部署错误 - 0/1 个节点可用:1 个节点与节点选择器不匹配
问题描述
我正在将我的一个应用程序部署到 Azure Kubernetes。我已配置 ACR 和 AKS,我正在尝试通过 azure CLI 进行部署。
这里是kubernetes部署文件内容
kind: Deployment
metadata:
name: pocaksimage1
spec:
replicas: 1
template:
metadata:
labels:
app: pocaksimage1
spec:
nodeSelector:
"beta.kubernetes.io/os": windows
containers:
- name: pocaksimage1
image: pocaksimage1
ports:
- containerPort: 6379
name: pocaksimage1
---
apiVersion: v1
kind: Service
metadata:
name: pocaksimage1
spec:
ports:
- port: 6379
selector:
app: pocaksimage1
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: pocaksimage1
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
minReadySeconds: 5
template:
metadata:
labels:
app: pocaksimage1
spec:
nodeSelector:
"beta.kubernetes.io/os": windows
containers:
- name: pocaksimage1
image: repo
ports:
- containerPort: 80
resources:
requests:
cpu: 250m
limits:
cpu: 500m
env:
- name: PRE_PROD
value: "pocaksimage1"
imagePullSecrets:
- name: pocsecret
---
apiVersion: v1
kind: Service
metadata:
name: pocaksimage1-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: pocaksimage1-front
我得到的错误是“0/1 个节点可用:1 个节点与节点选择器不匹配。”
请帮我解决这个问题。
谢谢
解决方案
我认为问题在于 AKS 尚不支持 Windows 节点,因此您实际上并没有 Windows 节点。您可以使用 Windows 节点创建 AKS,但此时它处于预览状态。
https://github.com/Azure/AKS/blob/master/previews.md#windows
推荐阅读
- python - 如何使用特定应用程序版本运行 docker?
- blazor - 如何从服务器中检索一次值并在 Blazor WASM 应用程序的生命周期内存储?
- certificate - 从证书中提取颁发者和主题
- java - 如何使用 jsoup 将 div 转换为文本?
- javascript - 如何在Javascript中交换字符串变量中的两个相邻字符
- reactjs - VS Code 中过度热心的代码提示
- scala - java.lang.NoSuchMethodError 与 Scala 的 Bigquery API
- c# - “1 不是受支持的代码页”JetBrains Rider
- matplotlib - 水平收缩 matplotlib 寄生轴以占据大约 25% 的图像长度
- ios - Admob 加载屏幕后不显示插页式广告,在某些情况下仅显示一次