部署deepflow all-in-one环境

部署deepflow all-in-one环境

实验目的与环境

  • 部署一个 DeepFlow 的体验环境
  • 宿主机建议最低规格为4C8G
  • 教程文档

部署一个k8s集群并安装Helm

S1 下载sealos:本实验通过sealos快速部署一个k8s集群,先使用如下命令下载sealos

sudo curl -o /usr/bin/sealos https://deepflow-ce.oss-cn-beijing.aliyuncs.com/sealos/sealos
sudo chmod +x /usr/bin/sealos

S2 运行k8s集群:使用下述命令运行一个以宿主机为master节点的k8s集群,如果使用云服务器,注意其中宿主机ip,是通过ifconfig命令查看的任意一个局域网ip而不是公网ip;password是登录该宿主机的口令。

sudo sealos run labring/kubernetes:v1.24.0 labring/calico:v3.22.1 --masters <宿主机ip> -p <password>

Note:在运行sealos之前,需要先卸载docker,因为sealos安装时不能存在containerd;卸载docker参考链接

S3 移除k8s节点污点:sudo kubectl taint node node-role.kubernetes.io/master- node-role.kubernetes.io/control-plane- --all

S4 安装Helm:deepflow使用Helm进行部署,按照如下命令安装Helm

sudo curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
sudo chmod 700 get_helm.sh
./get_helm.sh

部署all-in-one deepflow

使用Helm进行安装:

sudo helm repo add deepflow https://deepflow-ce.oss-cn-beijing.aliyuncs.com/chart/stable
sudo helm repo update deepflow
cat << EOF > values-custom.yaml

然后输入下列内容:

global:
  allInOneLocalStorage: true
  image:
      repository: registry.cn-beijing.aliyuncs.com/deepflow-ce
EOF

效果如图所示:

部署deepflow:

sudo helm install deepflow -n deepflow deepflow/deepflow --create-namespace \
  -f values-custom.yaml

访问grafana界面

根据上一步helm的输出,在结尾处的提示,运行所提供的三条命令以获得grafana界面的url,以及登录grafana的账号密码(默认是admin:deepflow),一般来说,url的ip地址是创建k8s集群时使用的宿主机ip

Note:需要在kubectl命令之前添加sudo权限,例如:

NODE_PORT=$(sudo kubectl get --namespace deepflow -o jsonpath="{.spec.ports[0].nodePort}" services deepflow-grafana)
NODE_IP=$(sudo kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}")
echo -e "Grafana URL: http://$NODE_IP:$NODE_PORT  \nGrafana auth: admin:deepflow"

Appendix

deepflow故障处理FAQ

运行sudo kubectl get pods -n deepflow指令可以检查是否所有Pod都正常运行,效果如下所示

重启sealos的命令:sudo sealos reset

posted @ 2023-12-21 20:08  瑞图恩灵  阅读(188)  评论(0编辑  收藏  举报