部署
首先是配置
3台 2h4g 服务器,其中,一台 master 节点,两台 node 节点
部署
k8s 集群使用 sealos
管理面板使用 kuboard
sealos [start 8.5k] kubernetes 高可用安装工具
kuboard [start 14.2k] Kubernetes 多集群管理界面
https://github.com/fanux/sealos
https://github.com/eip-work/kuboard-press
sealos
下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载
$ wget -c https://sealyun-home.oss-cn-beijing.aliyuncs.com/sealos/latest/sealos && \
chmod +x sealos && mv sealos /usr/bin
下载离线资源包
$ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/05a3db657821277f5f3b92d834bbaf98-v1.22.0/kube1.22.0.tar.gz
安装一个三master的kubernetes集群
$ sealos init --passwd '123456' \
--master 192.168.0.2 --master 192.168.0.3 --master 192.168.0.4 \
--node 192.168.0.5 \
--pkg-url /root/kube1.22.0.tar.gz \
--version v1.22.0
# 检查安装是否成功
$ kubectl get node -owide
kuboard
$ kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
$ watch kubectl get pods -n kuboard
输入 kubectl get pods -n kuboard 查询状态得到以下结果
[root@node1 ~]# kubectl get pods -n kuboard
NAME READY STATUS RESTARTS AGE
kuboard-agent-2-65bc84c86c-r7tc4 1/1 Running 2 28s
kuboard-agent-78d594567-cgfp4 1/1 Running 2 28s
kuboard-etcd-fh9rp 1/1 Running 0 67s
kuboard-etcd-nrtkr 1/1 Running 0 67s
kuboard-etcd-ader3 1/1 Running 0 67s
kuboard-v3-645bdffbf6-sbdxb 1/1 Running 0 67s
访问 Kuboard
在浏览器中打开链接 http://ip:30080
输入初始用户名和密码,并登录
用户名: admin
密码: Kuboard123
配置并访问nginx
首先要创建 IngressClass
进入集群
集群管理->网络->IngressClass
安装 IngressNginxController 并创建 IngressClass
输入名称 ingress-nginx
创建完成后进入 ingress-nginx
记住这个负载均衡策略的端口
30760
创建 nginx pod
进入 default 名称空间
选择应用程序 -> 工作负载 -> 创建部署
基本信息
填写工作负载名称
容器信息
添加工作容器
输入名称
输入容器镜像
填写容器端口
服务/应用路由
服务
服务类型选择 NodePort
端口填写 80 节点端口(nodePort)如果为空,则由集群自动分配
应用路由
IngressController 选择 ingress-nginx
添加路由规则
填写域名
填写路劲映射
访问域名
demo.com:30760/