买了一台R720,具体硬件上的安装部署可能后面会单独出一期
前置工作
用了以下脚本来控制风扇噪音
https://github.com/qwqVictor/fancontrol
这样可以在达到某个温度的时候交由自动控制
然后我选择通过这个项目实现DDNS
NewFuture/DDNS: 自动更新域名解析到本机IP(支持dnspod,阿里DNS,CloudFlare,华为云,DNSCOM…) (github.com)
我是在DNSPOD上面购买的域名,api密钥要选择DNSPod Token而不是腾讯云api密钥
ps:可以通过这个命令获得当前ipmi的ipv6地址
ipmitool -I lanplus -H {ip} -U {user} -P {password} lan6 print | grep -v '::/' | grep -B 4 'active' | grep -A 3 'Address 0' | grep ss: | rev | cut -d ' ' -f 1 | rev | cut -d '/' -f 1
然后是同步时间/时区
ntpdate -u ntp.sjtu.edu.cn
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
kubernetes基础结构
用sealos进行简单的k8s安装
sealos init \
--master 192.168.1.100 \
--node 192.168.1.101 \
--pkg-url /root/kube1.22.0.tar.gz \
--pk /root/maoserver \
--version v1.22.0
安装helm
打开ipv6的支持
这一步被折磨惨了,打算新开一篇来单独讲讲,其实已经装到traefik才发现遗漏了这一步,各种试水导致了k8s的第二次安装
允许master部署pod
kubectl taint nodes k8s-master node-role.kubernetes.io/master-
安装longhorn
当然这些弄完之后就可以跑步进入traefik环节了(尽管之中经历了例如掉盘之类的事件,然后换根sata线又莫名其妙的好了)
traefik 这里我们要做一些端口上的改动,因为电信封了80 443
根据values文件我们创建以下yaml替换values值
deployment:
kind: DaemonSet
ports:
web:
nodePort: 30080
websecure:
nodePort: 30443
service:
ipFamilyPolicy: PreferDualStack
执行如下安装:
helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install traefik traefik/traefik -f traefik-values.yaml --namespace=traefik-v2 --create-namespace
之后安装kubesphere
最后安装一下tls
因为在腾讯云注册的域名,所以相对最点点点的方式就是直接拿腾讯云的免费证书了(虽然不能泛域名解析
kubectl create secret tls tls-secret --key tls.key --cert tls.crt -n {namespace}
之后 ingressroute 的模板:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: name
namespace: namespace
spec:
entryPoints:
- websecure
routes:
- match: Host(`foo.com`)
kind: Rule
services:
- name: name
port: 80
tls:
secretName: tls-secret
评论
还没有任何评论,你来说两句吧!