Kubernetes:来自服务器的错误(未找到):未找到部署.apps“kube-verify”

问题描述 投票:0回答:6

我在我的专用网络中设置了一个 Kubernetes 集群并成功部署了一个测试 Pod:

现在我想为该服务公开一个外部IP:

但是当我跑步时:

kubectl get deployments kube-verify

我明白:

Error from server (NotFound): deployments.apps "kube-verify" not found

编辑 好吧,我尝试一种新方法: 我创建了一个名为:verify-cluster

的命名空间

我的部署.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: verify-cluster
  namespace: verify-cluster
  labels:
    app: verify-cluster
spec:
  replicas: 1
  selector:
    matchLabels:
      app: verify-cluster
  template:
    metadata:
      labels:
        app: verify-cluster
    spec:
      containers:
      - name: nginx
        image: nginx:1.18.0
        ports:
        - containerPort: 80

和service.yaml:

apiVersion: v1
kind: Service
metadata:
  name: verify-cluster
  namespace: verify-cluster
spec:
  type: NodePort
  selector:
    app: verify-cluster
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30007

然后我跑:

kubectl create -f deployment.yaml
kubectl create -f service.yaml

比检查

kubectl get all -n verify-cluster

但我想检查部署:

kubectl get all -n verify-cluster

并得到:

Error from server (NotFound): deployments.apps "verify-cluster" not found

希望这对繁殖更好?

编辑2 当我将它部署到默认命名空间时,它会直接运行,因此问题一定是命名空间中的问题

docker kubernetes cluster-computing
6个回答
2
投票

我猜你可能忘记了创建命名空间:

文件 my-namespace.yaml

apiVersion: v1
kind: Namespace
metadata:
  name: <insert-namespace-name-here>

然后:

kubectl create -f ./my-namespace.yaml

2
投票

首先您需要通过

进行部署
$ kubectl get deployment
NAME                READY   UP-TO-DATE   AVAILABLE   AGE
test-deployment   1/1     1            1           15m

如果您使用过任何命名空间

$ kubectl get deployment -n your-namesapce

然后在进一步的命令示例中使用确切的名称

kubectl scale deployment test-deployment --replicas=10

0
投票

我已使用您提供的配置文件复制了用例。在我看来,一切都运转良好。确保命名空间创建正确,没有任何拼写错误。 或者,您可以使用以下命令创建命名空间:

kubectl create namespace <insert-namespace-name-here>

请参阅此文档,了解有关创建命名空间的详细信息。


0
投票

另一种方法可能是将您的配置直接应用到请求的命名空间。

kubectl apply -f deployment.yml -n verify-cluster
kubectl apply -f service.yml -n verify-cluster

0
投票

在我的例子中,我收到错误部署。应用程序未找到,因为我在部署的开头使用小写字母而不是大写字母。所以我用了:

kind: deployment # wrong

而不是

kind: Deployment # correct

0
投票

首先,我们必须创建命名空间。按照此操作https://kubernetes.io/docs/tasks/administer-cluster/namespaces-walkthrough/

© www.soinside.com 2019 - 2024. All rights reserved.