akash测试网挑战5疑难点-非保姆级教程
2022年3月13日21点33分的时候看了下供应商列表,连官方供应商一起都才22个。
官网文档有的内容,我就不写到里面了,主要解决一些疑难问题。
前置条件:
- 建议租用2台ubuntu18的服务器,2核2G内存50G硬盘就够了
- 一个域名
- 创建钱包并导出key.pem文件,官网有教程(也可以不导出成文件,输出私钥到终端,然后到架设服务器的用户根目录新建key.pem)
- 钱包内AKT代币大于50(建议100+),每个租约要冻结50AKT(官方提示是只需要5AKT/租约,大坑)
解析域名,添加4条记录:
- 两条A类型的:nodes,解析到你的两台服务器公网IP
- 一条CNAME:provider,解析到:nodes.xxx.com
- 一条CNAME:*.ingress,解析到:nodes.xxx.com
挑战5大概流程(有一定的k8s和容器化经验完成速度更快):
- 使用ubuntu18的服务器;
- 修改root密码,重启sshd服务(两台都要设置);
sudo passwd root
sudo vim /etc/ssh/sshd_config
- 修改ssh配置允许root登录
sudo vim /etc/ssh/sshd_config
- 找到PermitRootLogin, 有可能前面是带#(注释了,未生效)
改为PermitRootLogin yes
- 重启服务
sudo systemctl restart 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
9. 可以使用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,否则就是有问题,阅读一下错误日志。
- 使用命令检查一下k8s的pods状态,会发现两个CrashLoopBackOff。
kubectl get pods -n kube-system
这个时候,记下这两个pod的名字。然后去编辑配置。
kubectl edit -n kube-system cm nodelocaldns
把划红线的loop都删掉,然后删除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的疑难点解答。
VX:dabai_199
欢迎各位加我沟通各类疑难杂症。