Kubectl get deployments 显示在默认命名空间中找不到资源

Ash*_*win 1 kubectl

我正在尝试使用 Kubernetes 并尝试将映像部署到 k8s 服务中

root@KubernetesMiniKube:/usr/local/bin# kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080
pod/hello-minikube created

root@KubernetesMiniKube:/usr/local/bin# kubectl get pod

NAME             READY   STATUS    RESTARTS   AGE
hello-minikube   1/1     Running   0          16s

root@KubernetesMiniKube:/usr/local/bin# kubectl get deployments

No resources found in default namespace.
Run Code Online (Sandbox Code Playgroud)

为什么我看到没有找到资源,但实际上有一个资源在默认命名空间内运行。

Pjo*_*erS 5

当您使用$ kubectl run它时,它会创建一个pod。在您的示例中,这正是发生的事情,它创建了pod名为hello-minikube.

pod/hello-minikube created
Run Code Online (Sandbox Code Playgroud)

如果要创建部署

部署代表一组多个相同的 Pod,没有唯一的身份。Deployment 运行应用程序的多个副本,并自动替换任何失败或无响应的实例。

您可以使用以下命令执行此操作:

$ kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080
deployment.apps/hello-minikube created
user@cloudshell:$ kubectl get deployments
NAME             READY   UP-TO-DATE   AVAILABLE   AGE
hello-minikube   1/1     1            1           8s
Run Code Online (Sandbox Code Playgroud)

您还可以deployment使用YAML创建。从此文档示例中保存 YAML并使用kubectl apply.

$ vi nginx.yaml 

<paste proper YAML definition. Also you can use nano editor, or download ready yaml>

user@cloudshell:$ kubectl apply -f nginx.yaml
deployment.apps/nginx-deployment created
$ kubectl get deployments
NAME               READY   UP-TO-DATE   AVAILABLE   AGE
hello-minikube     1/1     1            1           3m48s
nginx-deployment   3/3     3            3           64s
Run Code Online (Sandbox Code Playgroud)

如果您对此答案还有其他疑问,请告诉我。