【问题标题】:User \"system:anonymous\" cannot get path \"/\"用户 \"system:anonymous\" 无法获取路径 \"/\"
【发布时间】:2020-07-21 19:02:30
【问题描述】:

我开始学习 Kubernetes。我按照教程进行操作,但无法重现该步骤。我只是安装了 kubectl 和 minikube,以 docker 作为驱动程序启动 minikube 并运行一个 pod。

filip@filip-pc:~/Desktop$ kubectl get pods
NAME        READY   STATUS    RESTARTS   AGE
my-apache   1/1     Running   0          5h7m
my-nging    1/1     Running   0          4h59m
filip@filip-pc:~/Desktop$ kubectl scale --replicas=2 my-apache
error: the server doesn't have a resource type "my-apache"
filip@filip-pc:~/Desktop$ kubectl cluster-info
Kubernetes master is running at https://172.17.0.3:8443
KubeDNS is running at https://172.17.0.3:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

我可以管理一个 pod,但我无法管理它。 如果我点击链接https://172.17.0.3:8443 我会收到一个错误

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
    
  },
  "status": "Failure",
  "message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
  "reason": "Forbidden",
  "details": {
    
  },
  "code": 403
}

我对此错误进行了简短的研究,但我发现的解决方案对我不起作用。 正如我提到的,我是 kubernetes 的新手,但我知道这是一个特权问题,但我使用的用户有权限

filip@filip-pc:~/Desktop$ kubectl auth can-i create deployments --namespace dev
yes
filip@filip-pc:~/Desktop$ kubectl auth can-i create deployments --namespace prod
yes

【问题讨论】:

标签: kubernetes google-kubernetes-engine kubernetes-pod


【解决方案1】:

不知道您正在遵循哪个教程,也不确定您是如何创建 pod,但如果它对他们有用并且对您不起作用,那么问题可能在于您正在运行更新版本的 kubernetes。

使用kubectl run ... 用于创建 pod 以及复制控制器。现在(从 1.18 开始)它只创建一个 pod。您需要复制控制器(已弃用)或 relicaset 或部署来扩展它。您无法扩展单个 pod(pod 资源没有您可以扩展的副本的概念 - 增加/减少)。

您可以将旧的运行命令替换为

kubectl create deployment myapache --image=httpd

并用它进行缩放

kubectl scale deployment myapache --replicas=2

它与使用旧的运行命令并不完全相同,但它很接近。

【讨论】:

  • 非常感谢您的解释。
猜你喜欢
  • 2017-12-19
  • 1970-01-01
  • 1970-01-01
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-17
  • 2019-08-12
相关资源
最近更新 更多