部署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
运行sudo kubectl get pods -n deepflow
指令可以检查是否所有Pod都正常运行,效果如下所示
重启sealos的命令:sudo sealos reset