GraphScope|GraphScope 集群部署

GraphScope 集群部署 1 k8s集群搭建 大致步骤如下:

  1. 安装docker。在ubuntu上,可以简单的通过命令sudo apt install docker.io来安装。
  2. 安装kubelet、kubeadm、kubectl。由于国内源无法访问,可能需要添加镜像,比如:
tee /etc/apt/sources.list <<-'EOF' deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main EOF

  1. 安装网络插件。如Calico。
以上过程可以参考 http://docs.tianshu.org.cn/docs/setup/deploy-kubernetes-cluster。文档中提供了一键脚本快速部署(适用于Ubuntu16.04和Ubuntu18.04),可以通过https://pan.baidu.com/s/1c89VAq_1qPBf_5URqSkBdw提取码wpwb获取。
获取之后
unzip dubheDeployScriptfile.zip cd dubheDeployScriptfile/k8s1.16.2-ubuntu/

配置base.config
# 主节点(master节点)IP地址 masterip="172.16.123.1"# 过滤IP段,用于过滤得到服务器的IP地址 ip_segment="172.16.123"# k8s版本 k8s_version="v1.16.2"# root用户密码,请设置k8s集群所有服务器root用户密码为统一密码 root_passwd="abcdefghijklmn"# 集群所有节点ip,有几台填几台 hostip=( 172.16.123.1 172.16.125.2 172.16.125.3 ) #以下两项会自动生成,不用填写! tocken= sha_value= https://www.it610.com/article/

然后运行
bash k8s1.16.2.sh

运行方式基本按照文档中说明,其中有两点需要注意:
  1. 在非主节点上都开启ssh的root访问权限,并在base.config中配置密码。这一步主要是拷贝apt-key.gpg base.config node_install_k8s.sh del_kube.sh ssh_trust_init.exp ssh_trust_add.exp这几个文件到worker节点。如果有其它方式拷贝,也可以不管,到这一步,master节点的集群基本部署成功。其中base.config中的保存了主节点的token和sha_value,这两个值对worker节点加入集群至关重要,取值样例如下:
token=s52vwv.gdx1qymhrdx8v5uq sha_value=https://www.it610.com/article/88c78df7457c1f74e065fbedd9ddee967cc4a4e4dd003e69f9d64374e3e5d903

  1. 如果多次运行脚本,base.config中的token和sha_value会被反复串接,此时在worker节点运行会无法加入master节点。每次重新运行脚本要把base.config中的token和sha_value清空。即使串接了,也能识别出来,只是要手动加入,当前主节点的token和sha_value应分别为前23位(以 . 号分隔)和前64位。
如果添加了新的机器,在环境都已配置好的情况下(运行脚本nodenode_install_k8s.sh即可),单纯加入集群可以使用以下命令:
kubeadm join 172.16.125.100:6443 --token 8urlva.75zrerl6uctfenec \ --discovery-token-ca-cert-hash sha256:c462c05da6c3685a334b1b1743d4d9b30a38b78208c338f03f5e7d67befaf8bb

注意token和sha256都要替换成对应的master节点的token和sha256。
2 拉取graphscope镜像 这个GraphScope提供的官方安装教程没有说明,在其一键安装脚本里倒有体现(这个脚本不太好用,亲测没有安装成功过)。这个主要影响graphscope创建会话的时候,比如
import graphscope graphscope.set_option(show_log=True) sess = graphscope.session()

【GraphScope|GraphScope 集群部署】在没有提前拉取镜像的情况下,创建session的时候就会卡住或者出错,因为创建的时候默认是会去拉取docker镜像的, 而这个镜像很大(有8.39GB),网络条件不好的情况下很难拉取成功。所以最好提前拉取:
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.8.0 docker pull quay.io/coreos/etcd:v3.4.13

0.8.0是安装的graphscope版本号,可以通过命令python -c "import graphscope; print(graphscope.__version__)"获得。
如果是用kind安装的,还要运行以下命令:
kind load docker-image registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.8.0 kind load docker-image quay.io/coreos/etcd:v3.4.13

    推荐阅读