我在我的专用网络中设置了一个 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 当我将它部署到默认命名空间时,它会直接运行,因此问题一定是命名空间中的问题
我猜你可能忘记了创建命名空间:
文件 my-namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: <insert-namespace-name-here>
然后:
kubectl create -f ./my-namespace.yaml
首先您需要通过
进行部署$ 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
我已使用您提供的配置文件复制了用例。在我看来,一切都运转良好。确保命名空间创建正确,没有任何拼写错误。 或者,您可以使用以下命令创建命名空间:
kubectl create namespace <insert-namespace-name-here>
请参阅此文档,了解有关创建命名空间的详细信息。
另一种方法可能是将您的配置直接应用到请求的命名空间。
kubectl apply -f deployment.yml -n verify-cluster
kubectl apply -f service.yml -n verify-cluster
在我的例子中,我收到错误部署。应用程序未找到,因为我在部署的开头使用小写字母而不是大写字母。所以我用了:
kind: deployment # wrong
而不是
kind: Deployment # correct
首先,我们必须创建命名空间。按照此操作https://kubernetes.io/docs/tasks/administer-cluster/namespaces-walkthrough/