ASK-105-aaPanel

完成上篇Wordpress,现在搭建集群下单个宝塔

目的:用阿里云ASK,部署宝塔国际版docker镜像aapanel启动容器,然后mount数据卷,除了宝塔安装目录www,其他一些可挂载的系统目录,都挂载到极速型NAS盘,还能正常安装nodejs,能正常配置root bash,正常修改并保存宝塔设置(并部部署一个hexo静态站),除了不能docker宝塔内再部署docker,和需要deamon或重启启动的参数,如PM2等,其他都和VM的宝塔差不多,目前k8s的容器启动不允许最高特权--privilege=true,但是我们可以写个启动执行脚本,pod启动后sleep个十几秒再运行外挂的外部脚本。

有了前四篇的学习和部署,我们快速的部署一个接近可自由配置的宝塔面板。

部署宝塔国际版aapanel(免注册登录)

拉取aapanel的lnmp标签的镜像来到本地,修改tag,上传到阿里云容器镜像服务。

创建namespace:aapanel

部署无状态aapanel,镜像registry-***.aliyuncs.com/我的空间/ckl-aapanel标签:lnmp,2核4GB

新增端口:20 21 22 80 443 888 3306 7800

增加NAS:
名称:base-aapanel
NAS地址:***.cn-hongkong.extreme.nas.aliyuncs.com
主机路径:/base/aapanel/www
(宝塔下创建文件夹 /mntNAS/base/aapanel/www)
容器路径:/www/wwwroot

下一步创建【服务】,选择【负载均衡】【私网访问】,选择【新建SLB】,这样会在阿里云负载均衡CLB(SLB)自动创建一个实例,之后我们用EIP弹性IP绑定,用来外网访问宝塔面板。外部流量策略选择【Cluster】

端口用到谁开谁,我只开了7800(aapanel国际版宝塔面板端口),443和80

创建后等一会儿,先去负载均衡那里,看到新的SLB实例ID:lb-3************z

创建一个香港EIP,线路类型:BGP(多线)_精品,带宽峰值:200Mbps

绑定新建的SLB,ip举例:***.123.123.***

回到集群-网络-服务,增加aapanel-svc阿里云注解:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port值:https:443,http:80,tcp:7800

记得点右侧【添加】

无状态里进入aapanel这个pod,点击终端进入容器,输入bt 14,显示宝塔细节:

aaPanel default info!aaPanel Internet Address:
http://*.*.*.*:7800/aapanelaaPanel Internal Address:
http://*.*.*.*:7800/aapanel
username: aapanel
password: f4fasd14

这里的ip都不是我们要访问的,我们使用EIP加端口访问

http://*.123.123.*:7800/aapanel

用户名是aapanel,但密码是aapanel123
请忽略password: f4fasd14
且默认root密码也是aapanel123

至此我们登陆进去了aapanel,但是还有很多事情要做:

我们要把大部分的系统目录搬到NAS挂载的/mntNAS/base/aapanel/www目录下

用控制机宝塔创建文件夹 /mntNAS/base/aapanel/www/aapanel-sys

进入pod容器终端,ls /www/wwwroot/ 可以看到aapanel-sys这个文件夹

现在把aapanel-sys想象成根目录。

创建/mntNAS/base/aapanel/www/aapanel-sys/www

cp -a /www/backup/ /www/wwwroot/aapanel-sys/www/
cp -a /www/server/ /www/wwwroot/aapanel-sys/www/
cp -a /www/wwwlogs/ /www/wwwroot/aapanel-sys/www/
cp -a /www/disk.pl /www/wwwroot/aapanel-sys/www/

此时的宝塔安装在容器里/www的全部文件,都被我们复制到了NAS盘

最后别忘了创建空文件夹 /mntNAS/base/aapanel/www/aapanel-sys/www/wwwroot

别急,还有几个容器内的系统目录需要拷贝到NAS,这样未来才方便安装其他软件(某些)

cp -a /home/ /www/wwwroot/aapanel-sys/
cp -a /root/ /www/wwwroot/aapanel-sys/
cp -a /run/ /www/wwwroot/aapanel-sys/
cp -a /srv/ /www/wwwroot/aapanel-sys/
cp -a /usr/ /www/wwwroot/aapanel-sys/
cp -a /var/ /www/wwwroot/aapanel-sys/
cp -a /opt/ /www/wwwroot/aapanel-sys/
cp -a /etc/ /www/wwwroot/aapanel-sys/

退出终端,重新剪辑pod,将复制到NAS的系统目录都挂上去

base-aapanel *** /base/aapanel/www/aapanel-sys/www     /www
home *** /base/aapanel/www/aapanel-sys/home    /home
root *** /base/aapanel/www/aapanel-sys/root    /root
run ***  /base/aapanel/www/aapanel-sys/run     /run
srv ***  /base/aapanel/www/aapanel-sys/srv     /srv
usr ***  /base/aapanel/www/aapanel-sys/usr     /usr
var ***  /base/aapanel/www/aapanel-sys/var     /var
opt ***  /base/aapanel/www/aapanel-sys/opt     /opt
etc ***  /base/aapanel/www/aapanel-sys/etc     /etc

保存后重新部署,再次登录

http://*.123.123.*:7800/aapanel

现在修改安全入口,面板用户密码进入App Store,Tools,安装Linux Tools和Log Cleanup

打开Linux Tools,时区改成上海,root密码修改成自己的

点击Terminal标签,用新密码登录shell

面板首页升级面板,从6.8.24,升级到6.8.25Monitor

监控,打开Security打开需要的端口

Cron计划任务,添加一个清理内存的cron

PHP安装扩展插件

记得在Database标签,点击Root password,submit提交新的密码,mysql才能用

回到阿里云集群,重新部署,再次登录宝塔aapanel,验证刚才的修改都已保存。

下一步安装nodejs

在本集群宝塔aapanel的App Store下安装Node.js version manager

安装LTS ver的最新版,如v16.16.0

可以在环境看到:init.module = /www/server/nodejs/v16.16.0/etc/init-module.js

进入终端查看bin并进行软链接,查看版本:

ls /www/server/nodejs/v16.16.0/bin/
yum install nano
ln -s /www/server/nodejs/v16.16.0/bin/node /usr/bin/node
ln -s /www/server/nodejs/v16.16.0/bin/npm /usr/bin/npm
ln -s /www/server/nodejs/v16.16.0/bin/npx /usr/bin/npx
ln -s /www/server/nodejs/v16.16.0/bin/yarn /usr/bin/yarn
node -v
npm -v
npx -v
yarn -v

不要安装或者尝试使用pm2,在docker里的pm2或者再安装docker不好用。

另外,为了集群宝塔外部ip安全,建立一个 某子域名.wuushu.cn 并将A记录指向该ip

config改成:

server
{
    listen 80 default_server;
    listen 443 default_server;
    server_name 外部ip;
    return 444;
    index index.php index.html;
    #root /www/wwwroot/某子域名.wuushu.cn;

    #SSL-START SSL related configuration, do NOT delete or modify the next line of commented-out 404 rules
    #error_page 404/404.html;
    #SSL-END

    #ERROR-PAGE-START  Error page configuration, allowed to be commented, deleted or modified
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END

    #PHP-INFO-START  PHP reference configuration, allowed to be commented, deleted or modified
    include enable-php-00.conf;
    #PHP-INFO-END

    #REWRITE-START URL rewrite rule reference, any modification will invalidate the rewrite rules set by the panel
    include /www/server/panel/vhost/rewrite/某子域名.wuushu.cn.conf;
    #REWRITE-END

    # Forbidden files or directories
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }

    # Directory verification related settings for one-click application for SSL certificate
    location ~ \.well-known{
        allow all;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log off;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log off; 
    }
    access_log  /www/wwwlogs/某子域名.wuushu.cn.log;
    error_log  /www/wwwlogs/某子域名.wuushu.cn.error.log;
}

aapanel里建立一个hexo.wuushu.cn的静态站

使用 npm 安装 Hexo

cd /www/wwwroot/hexo.wuushu.cn
npm install -g hexo-cli --no-fund
ln -s /www/server/nodejs/v16.16.0/bin/hexo /usr/bin/hexo
hexo init hexowuushucn
cd hexowuushucn
npm install --no-fund
hexo clean
hexo g

生成了静态public文件夹将网站目录指向/www/wwwroot/hexo.wuushu.cn/hexowuushucn/public

cd themes/
git clone https://github.com/blinkfox/hexo-theme-matery.git
cd ..
npm i --save hexo-wordcount --no-fund
nano _config.yml

在theme: 改成hexo-theme-matery

修改文件_config.yml内如url等配置

如https://hexo.wuushu.cn/archives访问不了,是需要修改:

nano themes/hexo-theme-matery/_config.yml

要将archives后面加上archives/index.html

hexo clean
hexo g

ASK-ALLINONE集群的命名空间aapanel下,网路-路由,创建ALB Ingress
名称:hexo-aapanel-albingress
域名:hexo.wuushu.cn
路径:/*
服务信息:aapanel-svc 端口80
勾选开启TLS
自定义注解:alb.ingress.kubernetes.io/ssl-redirect 为 true

测试hexo.wuushu.cn可以正常访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值