首页 > 其他分享 >k3s 基础 —— 配置 kubernetes dashboard

k3s 基础 —— 配置 kubernetes dashboard

时间:2023-04-22 15:11:27浏览次数:46  
标签:kubectl kubernetes k3s -- admin dashboard k8s

安装

请参考

部署仪表盘

GITHUB_URL=https://github.com/kubernetes/dashboard/releases
VERSION_KUBE_DASHBOARD=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||')
sudo k3s kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/${VERSION_KUBE_DASHBOARD}/aio/deploy/recommended.yaml

配置 RBAC

创建以下文件

dashboard.admin-user.yml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

dashboard.admin-user-role.yml

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

部署 admin-user 配置:

sudo k3s kubectl create -f dashboard.admin-user.yml -f dashboard.admin-user-role.yml

访问仪表盘

端口转发

① 本地访问

kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'

访问地址:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

② 远程访问

kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 10443:443 --address 0.0.0.0

配置域名

参考

1、创建 ingress 配置文件 k8s-dashboard-web.yaml

apiVersion: traefik.containo.us/v1alpha1
kind: ServersTransport
metadata:
  name: k8s-dashboard-transport
  namespace: kubernetes-dashboard
spec:
  serverName: "k8s-dashboard.domain.com"
  insecureSkipVerify: true
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: k8s-dashboard-web
  namespace: kubernetes-dashboard
spec:
  entryPoints:
    - websecure
  routes:
    - match: "Host(`k8s-dashboard.domain.com`)"
      kind: Rule
      services:
      - name: kubernetes-dashboard
        namespace: kubernetes-dashboard
        port: 443
        serversTransport: k8s-dashboard-transport
  tls:
    secretName: domain-tls

2、执行部署

kubectl apply -f k8s-dashboard-web.yaml

3、配置 HTTPS 证书
略。已有证书可跳过此步。

4、创建 tls secret

# 需指定证书文件的路径
kubectl create secret tls domain-tls \
  --key /etc/letsencrypt/live/domain.com/privkey.pem \
  --cert /etc/letsencrypt/live/domain.com/fullchain.pem

复制 tls secret 到 kubernetes-dashboard 命名空间

kubectl get secret domain-tls --namespace=default -o yaml | sed 's/namespace: .*/namespace: kubernetes-dashboard/' | kubectl apply  --namespace=kubernetes-dashboard -f -

5、配置好 DNS 解析,最后通过 https://k8s-dashboard.domain.com 进行访问

创建访问令牌

# 配置参数 --duration=240h,设置令牌的有效期
kubectl -n kubernetes-dashboard create token admin-user --duration=240h

修改网站访问令牌的有效期

默认情况,网站的访问令牌会在一个小时后过期,到期后需要重新设置。下面是修改此令牌有效期的方法:

拉取 deploy 配置

kubectl get deploy kubernetes-dashboard -n kubernetes-dashboard -o yaml > dashboard-deploy.yaml

修改 dashboard-deploy.yaml 文件,找到如下位置,并增加参数

    spec:
      containers:
      - args:
        - --auto-generate-certificates
        - --namespace=kubernetes-dashboard
        - --token-ttl=86400 # 此行为新增

重新部署

kubectl apply -f dashboard-deploy.yaml

标签:kubectl,kubernetes,k3s,--,admin,dashboard,k8s
From: https://www.cnblogs.com/lemos/p/17343126.html

相关文章

  • 29、Pipeline Job进阶之部署应用至Kubernetes集群
    PipelineJob进阶之部署应用至Kubernetes集群在jenkins上的k8s云节点,在原来maven-and-docker模板的基础之上,添加容器也可以添加pod模板,通过继承的方式来实现maven-docker-kubectl方式来定义添加podtemplate添加容器:使用kubesphere/kubectl:latest镜像安装插件用于认证到k8s集群之......
  • k3s 基础 —— 配置 kubernetes-dashboard 的 token 过期时间
    拉取配置到本地:kubectlgetdeploykubernetes-dashboard-nkubernetes-dashboard-oyaml>dashboard-deploy.yaml增加参数:spec:containers:-args:---auto-generate-certificates---namespace=kubernetes-dashboard---to......
  • 快速部署Kubernetes 1.17:使用kubeadm轻松构建强大的容器编排平台
    在上一篇我们已经初步认识了Kubernetes,在本篇我们就开始着手搭建kubernetes,具体操作如下:1.环境准备(1).环境说明节点名称机器IP系统master10.2.3.191CentOS7.7node110.2.3.192CentOS7.7node210.2.3.190CentOS7.7(2).禁止swap(三台机器上都操作)swapoff-a#临时改配置文件/etc/f......
  • Kubernetes中使用Helm2的安全风险
    参考 http://rui0.cn/archives/1573英文文章 https://blog.ropnop.com/attacking-default-installs-of-helm-on-kubernetes/集群后渗透测试资源 https://blog.carnal0wnage.com/2019/01/kubernetes-master-post.htmlHelm介绍:Kubernetes是一个强大的容器调度系统,通常我们......
  • k3s 基础 —— 配置 traefik ingress 跨命名空间访问
    新增配置文件/var/lib/rancher/k3s/server/manifests/traefik-config.yaml参考apiVersion:helm.cattle.io/v1kind:HelmChartConfigmetadata:name:traefiknamespace:kube-systemspec:valuesContent:|-globalArguments:-"--providers.kubernetescrd......
  • kube-dashboard
    kubernetesv1.26.xyaml部署kubectlapply-fhttps://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml#修改配置,如servicetype:NodePort等helm部署helminstallkubernetes-dashboardkubernetes-dashboard/kubernetes-dashboard\--se......
  • k3s 基础 —— 配置 traefik dashboard & k8s dashboard 域名访问
    配置k8sdashboard域名访问安装略①kubectl代理(只支持localhost或http):kubectlproxy--address='0.0.0.0'--accept-hosts='^*$'②若k8s在虚拟机中部署,局域网中临时访问,可使用端口转发:kubectlport-forward-nkubernetes-dashboardservice/kubernetes-dashboard......
  • Kubernetes的核心技术与特性
    Kubernetes(通常简称为"k8s")是一个开源的容器编排系统,它可以自动化地部署、扩展和管理容器化应用程序。Kubernetes的出现解决了容器化应用程序的许多挑战,包括自动化部署、动态伸缩、负载均衡、容错和滚动升级等。本文将介绍Kubernetes的一些核心技术和特性,以及它们如何帮助开发人员......
  • 部署kubernetes-dashboard顺便搞懂kubernetes中的ServiceAccount和RBAC
    "种草"kubernetes-dashboard安装部署dashboard创建用于登录面板的ServiceAccount权限控制"种草"kubernetes-dashboardKubernetesDashboard是通用的用于管理Kubernetes集群的WebUI面板kubernetes-dashboard代码库readme中对自己的介绍:KubernetesDashboardi......
  • Kubernetes集群调度增强之超容量扩容
    作者:京东科技 徐宪章1什么是超容量扩容超容量扩容功能,是指预先调度一定数量的工作节点,当业务高峰期或者集群整体负载较高时,可以使应用不必等待集群工作节点扩容,从而迅速完成应用横向扩容。通常情况下HPA、ClusterAutosacler和超容量扩容同时使用以满足负载敏感度高的业务场景。超......