kubectl expose deployment nginx --port=80 --type=NodePort Error from server (NotFound): deployments.apps "nginx" not found
时间: 2024-02-15 11:06:15 浏览: 139
这个错误通常发生在您尝试将一个不存在的 Deployment 暴露给外部时。请确保您输入的是正确的 Deployment 名称,并且该 Deployment 已经成功创建。
您可以使用以下命令检查是否存在名为 `nginx` 的 Deployment:
```
kubectl get deployments
```
如果返回结果中没有 `nginx` 的 Deployment,那么您需要先创建一个 Deployment,然后再使用 `kubectl expose` 命令将其暴露给外部。例如,以下命令将创建一个名为 `nginx` 的 Deployment:
```
kubectl create deployment nginx --image=nginx
```
然后,您可以使用以下命令将该 Deployment 暴露为 NodePort 类型的 Service:
```
kubectl expose deployment nginx --port=80 --type=NodePort
```
请注意,如果您使用的是 Kubernetes 版本为 1.16 或更高版本,则需要在 `kubectl expose` 命令中显式指定 `--dry-run=client` 参数,否则您可能会收到一个“已弃用”的警告。例如:
```
kubectl expose deployment nginx --port=80 --type=NodePort --dry-run=client -o yaml | kubectl apply -f -
```
希望这可以帮助您解决问题。
阅读全文