目录
Kubeadm方式部署3master,2work集群(Kubernetes-1.22.0)-CSDN博客
1. 官方Dashboard
kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/v2.0.0-beta5.yaml
或使用
# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml
# 以上两个命令等价的,看你能访问哪个yaml文件
[root@kub-k8s-master1 ~]# kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
# 注意将 type: ClusterIP 改为 type: NodePort
[root@kub-k8s-master1 ~]# kubectl get svc -A |grep kubernetes-dashboard
kubernetes-dashboard dashboard-metrics-scraper ClusterIP 10.108.232.82 <none> 8000/TCP 4m32s
kubernetes-dashboard kubernetes-dashboard NodePort 10.99.188.251 <none> 443:30155/TCP 4m32s
创建访问账号,准备一个yaml文件 vi dash.yaml
[root@kub-k8s-master1 ~]# vi dash.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
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
[root@kub-k8s-master1 ~]# kubectl apply -f dash.yaml
获取访问令牌token
[root@kub-k8s-master1 ~]# kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
eyJhbGciOiJSUzI1NiIsImtpZCI6IjZ2ZFVLalpIenZvYXVTX2V5bHhVaHF0eHZhZUZWVDZZY2hnWjg0MVVPQWsifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXM4dHNnIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwNjY1ZGUyYy0zNTZmLTQ1ZDAtYjYyNC01MTgzNjkxMzg3MDAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.gK8503FaqyeN0lnPhAMleipCL0eSNV33s7hFLlEXq-yOfo_ywrJXxJk_4R1ttnJ3tVTCgBMPQubmkKpcUmi4KMnVkt8RIGSrMgiWWDujlkm-sykG1bZtvuGkB9vPzDKnIANhNuvwSRTO6ngyk-_DMOoajRQsmMJU8uJsFSJtDsToN8d40plhpcfhEEsgFJ2YNCKVZ0phSr7HTF_ep_BcROGUEi65zS9Tf-DumfilA1QcejMOzveFiCBWubnol1utPkfLhCS53oN2aqwkNr4MnRPG6hux1QwIbaWW8Cst5qOeqr5_0OXFHBLMB4wrpnJLwYV_5nzw4Ucxy_baiufQSw
浏览器访问
任意节点ip+端口[上面查看到为30155] 例如我这里访问:https://192.168.226.154:30155/
当看到不安全提示,键盘输入 thisisunsafe 输入后会自动跳转登陆页
卸载方式:
kubectl delete -f dash.yaml
kubectl delete -f https://kuboard.cn/install-script/k8s-dashboard/v2.0.0-beta5.yaml
kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
rm -rf dash.yaml
2. Kuboard 部署
仅需在kub-k8s-master1上执行即可
安装命令
# 从指定的 URL 下载 YAML 文件,并使用 kubectl 将该文件定义的资源应用到 Kubernetes 集群中。
# 这个命令用于部署 Kuboard,这是一个 Kubernetes 可视化管理工具。
# YAML 文件中可能包括 Deployment、Service、ConfigMap 等 Kubernetes 资源的定义。
kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
# 也可以使用下面的指令,唯一的区别是,该指令使用华为云的镜像仓库替代 docker hub 分发 Kuboard 所需要的镜像
# kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml
# 获取并显示 `kuboard` 命名空间中的所有 Pod 的状态信息。
# 这将列出在 `kuboard` 命名空间中运行的所有 Pod,包括它们的名称、状态、准备情况、重启次数和运行时间。
# 该命令帮助确认 Kuboard 服务是否正常运行。
kubectl get pod -n kuboard
# 获取并显示 `kuboard` 命名空间中的所有 Service 的状态信息。
# 这将列出在 `kuboard` 命名空间中创建的所有 Service,包括它们的名称、类型、ClusterIP、外部IP、端口和目标。
# 该命令帮助确认 Kuboard 服务是否已成功创建,并了解它们的访问方式。
kubectl get svc -n kuboard
浏览器访问这个地址就是负载均衡IP+端口:http://192.168.226.151:30080/
默认用户名:admin 初始化密码: Kuboard123
使用文档:安装 Kuboard v3 - kubernetes | Kuboard
卸载kuboard方式:
从 Kubernetes 集群中删除 Kuboard 相关的所有资源。这会删除与指定 YAML 文件相关联的所有 Kubernetes 对象
kubectl delete -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
3. Rainbond 部署
官方网站:Rainbond
官方文档:快速安装 | Rainbond
运行安装,仅需在kub-k8s-master1主机运行即可,安装时会提示你选择IP,直接回车默认即可。
curl -o install.sh https://get.rainbond.com && bash ./install.sh
执行完上述脚本后,耐心等待 3-5 分钟,可以看到如下日志输出,表示 Rainbond 已启动完成
浏览器访问终端提示的地址:http://192.168.226.151:7070
注册初始化管理员用户
卸载方式:
# Delete PVC
kubectl get pvc -n rbd-system | grep -v NAME | awk '{print $1}' | xargs kubectl delete pvc -n rbd-system
# Delete PV
kubectl get pv | grep rbd-system | grep -v NAME | awk '{print $1}' | xargs kubectl delete pv
# Delete CRD
kubectl delete crd componentdefinitions.rainbond.io \
helmapps.rainbond.io \
rainbondclusters.rainbond.io \
rainbondpackages.rainbond.io \
rainbondvolumes.rainbond.io \
rbdcomponents.rainbond.io \
servicemonitors.monitoring.coreos.com \
thirdcomponents.rainbond.io \
rbdabilities.rainbond.io \
rbdplugins.rainbond.io \
servicemeshclasses.rainbond.io \
servicemeshes.rainbond.io \
-n rbd-system
# Delete NAMESPACE
kubectl delete ns rbd-system
4. Kubesphere 部署
仅需在kub-k8s-master1上执行即可
在 Kubernetes 上最小化安装 KubeSphere
官方文档:在 Kubernetes 上最小化安装 KubeSphere
# 从 GitHub 上指定的 URL 下载并应用 KubeSphere 安装程序的 YAML 文件。
# 这个命令将创建和配置 KubeSphere 所需的所有 Kubernetes 资源,包括 Deployments、Services、ConfigMaps 等。
# 这是 KubeSphere 的核心组件,用于启动和管理 KubeSphere。
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/kubesphere-installer.yaml
# 从 GitHub 上指定的 URL 下载并应用 KubeSphere 集群配置的 YAML 文件。
# 这个命令将配置集群级别的设置,如网络、存储、监控等,以便根据集群的需求优化和定制 KubeSphere。
# 这些配置会影响 KubeSphere 的集群环境设置,确保与实际环境的兼容性和性能。
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/cluster-configuration.yaml
查看日志
# 获取并显示 KubeSphere 系统命名空间中与 KubeSphere 安装相关的 Pod 的实时日志。
# 这个命令结合了两个 `kubectl` 命令:
# 1. `kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}'`:
# - 获取 `kubesphere-system` 命名空间中所有标签为 `app=ks-install` 或 `app=ks-installer` 的 Pod 名称。
# - 使用 `jsonpath` 提取第一个 Pod 的名称。
# 2. `kubectl logs -n kubesphere-system <pod-name> -f`:
# - 显示指定 Pod 的实时日志,帮助监控 KubeSphere 的安装或运行状态。
# `-f` 参数表示跟踪日志输出,即实时更新日志内容。
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
检查服务部署状态
kubectl get pods -n kubesphere-system
使用 kubectl get pod --all-namespaces
查看所有 Pod 是否在 KubeSphere 的相关命名空间中正常运行。如果是,请通过以下命令检查控制台的端口:
kubectl get svc/ks-console -n kubesphere-system
默认用户名:admin 默认密码:P@88w0rd
卸载方法:
kubectl delete -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.0/kubesphere-installer.yaml
kubectl delete -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.0/cluster-configuration.yaml