the service \kubernetes-dashboard\" is invalid: spec.ports[0].nodeport: forbi"
时间: 2023-05-03 08:05:04 浏览: 107
"Kubernetes-dashboard"服务无效的原因是由于spec.ports[0].nodeport被禁用。这个错误通常发生在Kubernetes集群无法访问到指定的端口时。当设置了服务的类型为NodePort时,Kubernetes会分配一个随机的端口,并将其映射到服务的targetPort上。但是,在某些情况下,这个随机端口可能已经被另一个进程占用,导致无法分配。这就是为什么"Kubernetes-dashboard"服务无法正常工作的原因。
为了解决这个问题,可以尝试更改服务的类型,或者手动指定可用的端口。同时,还可以检查是否有其他进程正在使用该端口,并决定是否需要释放该端口。正确配置"Kubernetes-dashboard"服务,即可消除这个错误,保证服务的落地及工作。
相关问题
[root@his k8s]# tar -xf k8s.gcr.io#kubernetes-dashboard-amd64.tar tar: manifest.json:不可信的旧时间戳 1970-01-01 08:00:00 tar: repositories:不可信的旧时间戳 1970-01-01 08:00:00 如何解决
这个警告是由于压缩包中的文件时间戳早于当前系统时间所引起的。你可以忽略这个警告,因为它不会影响文件的解压缩或使用。如果你想要移除这个警告,你可以使用`--touch`选项来更新文件的时间戳,例如:
```shell
tar -xf k8s.gcr.io#kubernetes-dashboard-amd64.tar --touch
```
这将会更新所有解压缩的文件的时间戳为当前系统时间。然后你可以继续处理这些文件。请注意,更新时间戳可能会改变文件的属性,例如访问时间和修改时间。
kubernetes-dashboard 部署
Kubernetes Dashboard 是 Kubernetes 官方提供的一个 Web 界面,用于管理 Kubernetes 集群。以下是部署 Kubernetes Dashboard 的步骤:
1. 下载 Kubernetes Dashboard YAML 文件:
```bash
curl -LO https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
```
2. 修改 Kubernetes Dashboard Service 类型:
将 recommended.yaml 文件中的 Service 类型从 ClusterIP 修改为 NodePort,这样可以通过 Node 的 IP 地址加端口号访问 Kubernetes Dashboard。
```yaml
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard
namespace: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
spec:
type: NodePort # 将类型修改为 NodePort
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
```
3. 部署 Kubernetes Dashboard:
```bash
kubectl apply -f recommended.yaml
```
4. 创建 Service Account:
```bash
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
EOF
```
5. 创建 Cluster Role Binding:
```bash
cat <<EOF | kubectl apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
EOF
```
6. 获取 Token:
```bash
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
```
7. 访问 Kubernetes Dashboard:
使用浏览器访问 Node 的 IP 地址加端口号,输入 Token 登录即可。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)