k8s 离线安装_离线安装kuboard
前言:许多公司处于安全的考虑,需要将 Kuboard 离线安装到内网环境。本文描述了如何完成 Kuboard 的离线安装。请确保您已经熟悉了 安装Kuboard,本文只描述离线安装时,与正常安装的过程的差异部分。一、开始前当然经典官网开头,这里说的是环境准备:安装 Kuboard 时,假设您已经有一个 Kubernetes 集群,以下任何形式安装的集群都可以:kubeadm 安装(或者基于 kub
·
前言:许多公司处于安全的考虑,需要将 Kuboard 离线安装到内网环境。本文描述了如何完成 Kuboard 的离线安装。请确保您已经熟悉了 安装Kuboard,本文只描述离线安装时,与正常安装的过程的差异部分。
一、开始前当然经典官网开头,这里说的是环境准备:
安装 Kuboard 时,假设您已经有一个 Kubernetes 集群,以下任何形式安装的集群都可以:
- kubeadm 安装(或者基于 kubeadm 的衍生工具,如 Sealos 等);
- 二进制安装;
- 阿里云、腾讯云等公有云托管集群;
- 其他。
二、安装:
- 获取kuboard镜像
- 在可以上网的机器上抓取 kuboard 镜像
docker pull eipwork/kuboard:latest
- 查看 kuboard 镜像的 ID
docker images | grep kuboard
- 将 Kuboard 镜像导出到文件
docker save 86eaead8421e > kuboard.tar
- 将 kuboard.tar 传输到 Kubernetes 集群的某一个节点上
2.加载Kuboard镜像
- 在 Kubernetes 集群的某一个节点上执行
docker load < kuboard.tar
- 为镜像重新添加标签 [ImageID请使用上一个步骤中查询到的 image ID]
docker tag 0146965e6475 kuboard:v2.0
3.准备kuboard.yaml文件[重点便是下面的yaml文件了]
安装Kuboard的yaml文件如下,将其保存到 kuboard-offline.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: kuboard
namespace: kube-system
annotations:
k8s.kuboard.cn/displayName: kuboard
k8s.kuboard.cn/ingress: "true"
k8s.kuboard.cn/service: NodePort
k8s.kuboard.cn/workload: kuboard
labels:
k8s.kuboard.cn/layer: monitor
k8s.kuboard.cn/name: kuboard
spec:
replicas: 1
selector:
matchLabels:
k8s.kuboard.cn/layer: monitor
k8s.kuboard.cn/name: kuboard
template:
metadata:
labels:
k8s.kuboard.cn/layer: monitor
k8s.kuboard.cn/name: kuboard
spec:
# nodeName: k8s-master #此处建议还是注释掉,否则会报错
containers:
- name: kuboard
image: kuboard:v2.0 #你本地镜像的实际位置和标签
imagePullPolicy: IfNotPresent #与在线安装不同,此处 ImagePullPolicy=IfNotPresent
imagePullSecrets: #加上
- name: myregcred #加上
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
---
apiVersion: v1
kind: Service
metadata:
name: kuboard
namespace: kube-system
spec:
type: NodePort
ports:
- name: http
port: 80
targetPort: 80
nodePort: 32567
selector:
k8s.kuboard.cn/layer: monitor
k8s.kuboard.cn/name: kuboard
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kuboard-user
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kuboard-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kuboard-user
namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kuboard-viewer
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kuboard-viewer
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- kind: ServiceAccount
name: kuboard-viewer
namespace: kube-system
# ---
# # apiVersion: extensions/v1beta1
# # kind: Ingress
# # metadata:
# # name: kuboard
# # namespace: kube-system
# # annotations:
# # k8s.kuboard.cn/displayName: kuboard
# # k8s.kuboard.cn/workload: kuboard
# # nginx.org/websocket-services: "kuboard"
# # nginx.com/sticky-cookie-services: "serviceName=kuboard srv_id expires=1h path=/"
# # spec:
# # rules:
# # - host: kuboard.yourdomain.com
# # http:
# # paths:
# # - path: /
# # backend:
# # serviceName: kuboard
# # servicePort: http
#
- 执行命令
kubectl apply -f kuboard-offline.yaml
更多推荐
已为社区贡献2条内容
所有评论(0)