Akash测试网挑战5疑难点-非保姆级教程

2022年3月13日21点33分的时候看了下供应商列表,连官方供应商一起都才22个。

官网文档有的内容,我就不写到里面了,主要解决一些疑难问题。

前置条件:

  1. 建议租用2台ubuntu18的服务器,2核2G内存50G硬盘就够了

  2. 一个域名

  3. 创建钱包并导出key.pem文件,官网有教程(也可以不导出成文件,输出私钥到终端,然后到架设服务器的用户根目录新建key.pem)

  4. 钱包内AKT代币大于50(建议100+),每个租约要冻结50AKT(官方提示是只需要5AKT/租约,大坑)

挑战5大概流程(有一定的k8s和容器化经验完成速度更快):

  • 先解析好域名,添加4条记录

    • 两条A类型的:nodes,解析到你的两台服务器公网IP

    • 一条CNAME:provider,解析到:nodes.xxx.com

    • 一条CNAME:*.ingress,解析到:nodes.xxx.com

  • 使用ubuntu18的服务器;

  • 修改root密码,重启sshd服务(两台都要设置);

  • 修改ssh配置允许root登录

sudo vim /etc/ssh/sshd_config

找到PermitRootLogin, 有可能前面是带#(注释了,未生效) 改为PermitRootLogin yes

post image
  • 重启sshd服务

  • 断开ssh,重新用root登录进去(以下开始只需要在一台服务器上操作即可)

  • 按照文档安装kubernetes集群

  • 中间会有设置允许本机使用证书登录其他机器ssh的流程,在当前服务器执行就可以了,一般都有内网IP,建议使用内网IP。

ssh-copy-id -i ~/.ssh/id_rsa.pub root@本机IP
ssh-copy-id -i ~/.ssh/id_rsa.pub root@另外一台IP
post image
  • 可以使用ssh命令测试下能否免密登录

    ssh -i ~/.ssh/id_rsa root@ip
    
  • 到Ansible Inventory的时候,有个要注意的点。 IPS括号内的内容是你的服务器IP,我用的是内网IP。然后这个有先后顺序,当前登录ssh的服务器IP放在第一位,否则的流程都跑不通的。

cd ~/kubespray
cp -rfp inventory/sample inventory/akash
declare -a IPS=(172.19.0.8 172.19.0.11)
CONFIG_FILE=inventory/akash/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
  • 最后部署完成后应该是如下提示,failed都为0,否则就是有问题,阅读一下错误日志。

post image
  • 使用命令检查一下k8s的pods状态,会发现两个CrashLoopBackOff。 PS:2022年3月14日19点20分测试,不会出现CrashLoopBackOff的错误了,如果你在搭建的时候没有pods出现CrashLoopBackOff,不需要编辑nodelocaldns的配置了。

kubectl get pods -n kube-system
post image
  • 记下这两个pod的名字。然后去编辑配置。

kubectl edit -n kube-system cm nodelocaldns
  • 把划红线的loop都删掉,保存退出

post image
  • 然后删除pod会自动新建启动

    kubectl delete -n kube-system pod nodelocaldns-4d5z8
    kubectl delete -n kube-system pod nodelocaldns-mr7qd
    kubectl get pods -n kube-system
    
  • 接下来按照文档成为Akash云供应商

  • 建议在STEP6 Build之前,修改一下 provider/values.yaml,不然启动后host是无法修改的。(不改也无所谓)

  • STEP6里面会需要设置4个变量,下面的Uninstall Process是不需要执行的。

    • 第一个就是你的钱包地址

    • 第二个是你导出私钥的时候用的密码

    • 第三个是域名,不需要带任何前缀

    • 第四个是别名,可以随便输入

  • 最后去浏览器打开区块查询,输入你的钱包地址去找两条tx。

    • 提交到表格的第一条是你的钱包地址

    • 第二条是type为MsgCreateProvider的txid

    • 第三条是type为MsgCreateBid的txid,price带小数的

然后看了下之前其他人发的挑战1-4的教程,有很多问题。按照他们的流程来是不合格的。明天出一篇1-4的疑难点解答。

欢迎各位来我推特讨论各类疑难杂症。

我的推特:@8887_eth

https://twitter.com/8887_eth