k8s怎样部署http访问dashbord
时间: 2024-09-14 08:03:32 浏览: 30
Kubernetes(k8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。为了安全地访问Kubernetes的dashbord,通常需要通过安全的网络连接,例如使用HTTPS协议和认证令牌。以下是通过命令行部署并访问Kubernetes dashbord的基本步骤:
1. 部署Kubernetes dashbord:
首先,你需要安装并配置好kubectl(Kubernetes的命令行工具)。然后,你可以使用以下命令部署dashbord:
```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
```
2. 创建一个用户并分配角色:
为了访问dashbord,你需要创建一个用户并为其分配相应的角色。以下是一个例子,用于创建一个名为`admin-user`的用户,并分配一个管理员角色:
```yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
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: kube-system
```
应用该配置文件:
```bash
kubectl apply -f <配置文件.yaml>
```
3. 获取认证令牌:
一旦用户创建并分配了角色,你需要获取该用户的认证令牌以供登录dashbord时使用。可以通过以下命令获取:
```bash
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
```
4. 访问Kubernetes dashbord:
最后,你可以通过端口转发或者设置一个安全代理来访问dashbord。这里以端口转发为例:
```bash
kubectl proxy
```
打开浏览器访问`http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/`,并在登录界面输入步骤3中获取的令牌。
请务必确保在访问dashbord时采用安全的连接,避免直接开放 dashbord 到互联网,因为这可能会带来安全风险。建议使用反向代理和SSL/TLS证书来保护访问。