轻量应用服务器部署k3s,并搭建可视化高性能网关 apisix

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介: k3s低资源占用集群,apisix 可视化高性能网关。小白教程

环境介绍

香港轻量 1核1G,此配置无法开启 ingress-controller,请禁用 tls,和ingress-controller 即无法使用 ApisixTls 配置证书

设置虚拟内存

mkdir swap && cd swap

# bs 为块的大小,count 创建多少个块
sudo dd if=/dev/zero of=swapfile bs=1M count=2048

# 修改权限
sudo chmod 0600 swapfile

#把生成的文件转换成 Swap 文件
sudo mkswap swapfile

# 激活文件
sudo swapon swapfile
AI 代码解读
不设置容易死机,这里我们设置 2G

安装 k3s

  • 安装目录
mkdir -p ~/softwares/k3s && cd ~/softwares/k3s && touch install_k3s.sh
AI 代码解读

主节点

#!/bin/sh

# 本地网卡设备号
export MY_ETH_DEV=eth0
# 自动获取本机IP
export MY_NODE_IP=`ip -o -4 addr list | grep $MY_ETH_DEV | awk '{print $4}' | cut -d/ -f1`

# k3s主服务器内网IP
# export MY_SERVER_IP=172.21.0.11
export MY_SERVER_IP=`ip -o -4 addr list | grep $MY_ETH_DEV | awk '{print $4}' | cut -d/ -f1`

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \
    --disable traefik \
    --cluster-init \
    --node-ip $MY_NODE_IP \
    --node-external-ip $MY_SERVER_IP \
    --advertise-address $MY_SERVER_IP \
    --flannel-iface $MY_ETH_DEV \
    --write-kubeconfig ~/.kube/config \
    --write-kubeconfig-mode 644 \
    --node-label asrole=worker
AI 代码解读
  • 可选参数--disable traefik 禁用默认网关
  • 可选参数--cluster-init 初始化集群,为平行节点做准备
  • 可选参数--write-kubeconfig ~/.kube/config 配置路径

查看服务:cat /etc/systemd/system/k3s.service

参数请查看 https://rancher.com/docs/k3s/latest/en/installation/install-options/server-config/

基础命令

# 查看所有节点
kubectl get node
# 查看所有应用
kubectl get pod -A -o wide
# 查看所有服务
kubectl get service -A
# 查看所有入口
kubectl get ingress -A
# 查看节点运行的容器
crictl ps
AI 代码解读

安装 helm

脚本安装

mkdir -p $HOME/softwares/heml_tool && cd $HOME/softwares/heml_tool
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
bash get_helm.sh
AI 代码解读

二进制安装

  • 下载 需要的版本
  • 上传 scp helm-v3.9.0-linux-amd64.tar.gz root@127.0.0.1:/tmp/helm-v3.9.0-linux-amd64.tar.gz
  • 解压(tar -zxvf helm-v3.9.0-linux-amd64.tar.gz )
  • 在解压目中找到helm程序,移动到需要的目录中(mv linux-amd64/helm /usr/local/bin/helm)
查看结果 helm repo list

安装 apisix

安装主程序

mkdir -p $HOME/softwares/apisix_gateway && cd $HOME/softwares/apisix_gateway


helm repo add apisix https://charts.apiseven.com
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
kubectl create ns ingress-apisix
helm install apisix apisix/apisix \
  --set gateway.type=LoadBalancer \
  --set gateway.tls.enabled=true \
  --set ingress-controller.enabled=true \
  --set ingress-controller.config.apisix.serviceNamespace=ingress-apisix \
  --namespace ingress-apisix \
  --kubeconfig /etc/rancher/k3s/k3s.yaml
AI 代码解读
  • --set gateway.type=LoadBalancer 设置端口类型
  • 可选参数--set gateway.tls.enabled=true 激活 tls
  • 可选参数--set ingress-controller.enabled=true 激活ingress-controller
  • 可选参数--set ingress-controller.config.apisix.serviceNamespace=ingress-apisix 配置ingress-controller
查看资源 kubectl -n ingress-apisix get pods

安装面板

helm repo add apisix https://charts.apiseven.com
helm repo update
helm install apisix-dashboard apisix/apisix-dashboard --namespace ingress-apisix
AI 代码解读
  • 编辑服务
kubectl --namespace ingress-apisix edit service apisix-dashboard
AI 代码解读
  • 修改如下
  ports:                                        
  - name: http                                  
    port: 9000                              
    protocol: TCP                           
    targetPort: http                       
  selector:                                
    app.kubernetes.io/instance: apisix-dashboard
    app.kubernetes.io/name: apisix-dashboard    
  sessionAffinity: None                         
  type: LoadBalancer 
AI 代码解读
  • 修改用户名密码
kubectl -n ingress-apisix edit cm apisix-dashboard
AI 代码解读
  • 配置如下
    authentication:             
      secert: secert            
      expire_time: 3600         
      users:                    
        - username: admin        
          password: admin
AI 代码解读
  • 重启生效
kubectl get pods -l app.kubernetes.io/name=apisix-dashboard -o name -n ingress-apisix -o yaml | kubectl replace --force -f -
AI 代码解读

本地证书

  • eg: www.baidu.com
  • 目录如下
├── certs
│   ├── www.baidu.com.key
│   └── www.baidu.com.pem
├── create-tls-secret.sh
└── tls-www.baidu.com.yaml

1 directory, 4 files
AI 代码解读
  • 脚本
cat > create-tls-secret.sh <<-EOF
#!/usr/bin/env bash

kubectl create secret tls tls-www.baidu.com -n ingress-apisix \
  --cert=certs/www.baidu.com.pem \
  --key=certs/www.baidu.com.key
EOF

bash create-tls-secret.sh
AI 代码解读
  • 查看
kubectl get secret -n ingress-apisix
AI 代码解读
  • 创建 tls-www.baidu.com.yaml
# 定义 ApisixTls 对象
apiVersion: apisix.apache.org/v1
kind: ApisixTls
metadata:
  name: tls-www.baidu.com
  namespace: ingress-apisix
spec:
  hosts:
  - www.baidu.com
  secret:
    name: tls-www.baidu.com
    namespace: ingress-apisix
AI 代码解读
k3s文档 https://docs.rancher.cn/docs/k3s/quick-start/_index/
apisix文档 https://apisix.apache.org/zh/docs/ingress-controller/getting-started/
设置虚拟内存 https://blog.csdn.net/ChenZhC/article/details/118603442
目录
打赏
0
0
0
0
0
分享
相关文章
DeepSeek服务器繁忙解决方法:使用阿里云一键部署DeepSeek个人网站!
通过阿里云一键部署DeepSeek个人网站,解决服务器繁忙问题。学生用户可领取300元代金券实现0成本部署,普通用户则可用99元/年的服务器。教程涵盖从选择套餐、设置密码到获取百炼API-KEY的全流程,助您快速搭建专属大模型主页,体验DeepSeek、Qwen-max、Llama等多款模型,无需代码,最快5分钟完成部署。支持绑定个人域名,共享亲友使用,日均成本仅约1元。
63 10
告别服务器繁忙,云上部署DeepSeek
本文以 DeepSeek-R1-Distill-Qwen-32B-FP8 为例,向您介绍如何在GPU实例上使用容器来部署量化的 DeepSeek-R1 蒸馏模型。
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
一键部署OpenWebUI+Ollama到阿里云ECS,轻松运行DeepSeek!(保姆级教程)
在当今数据驱动的时代,快速部署和管理大模型成为企业的关键需求。阿里云提供了一键部署OpenWebUI+Ollama的便捷方案,支持本地大模型运行和管理。用户也可以选择连接阿里云百炼的在线模型。
一键部署OpenWebUI+Ollama到阿里云ECS,轻松运行DeepSeek!(保姆级教程)
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
阿里云出手了,DeepSeek服务器拒绝繁忙,免费部署DeepSeek模型671B满血版
阿里云推出免费部署DeepSeek模型671B满血版服务,通过百炼大模型平台,用户无需编码,最快5分钟、最低0元即可完成部署。平台提供100万免费Token,支持DeepSeek-R1和DeepSeek-V3等多款模型调用,有效解决服务器繁忙问题。新手零基础也能轻松上手,享受高效稳定的API调用和自动弹性扩展功能。教程涵盖开通服务、获取API-KEY及配置Chatbox客户端等步骤,详细指引助您快速实现DeepSeek自由。
212 18
【已解决】Matomo本地SMTP配置可以发邮件,但部署到阿里云ECS就发不了邮件
在阿里云ECS上使用Matomo和PHPMailer发送邮件时遇到问题,邮件无法发出且接口调用Pending。经过排查,发现是ECS安全组未开放25/465端口,导致SMTP请求无法正常通信。解决方法为在安全组中配置并开放25/465端口,从而恢复邮件发送功能。
在阿里云ECS上一键部署DeepSeek-R1
Open WebUI 和 Ollama 的联合,通过集成 DeepSeek-R1 的强大功能,赋予每一位用户使用尖端 AI 技术的能力,使得复杂的 AI 技术不再是遥不可及的梦想。无论是研究人员、开发者,还是企业用户,您都能从这一创新中获得新的灵感和增长点。本文介绍通过计算巢一键部署和使用DeepSeek-R1。
在阿里云ECS上一键部署DeepSeek-R1
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
79 1
基于ECS部署DeepSeek个人专属AI网站
本方案介绍了如何基于云服务器ECS集成百炼API和Open WebUI服务,一键部署体验DeepSeek个人专属AI网站。用户不仅可以以极低的成本,拥有个人专属的AI网站,进行稳定的AI对话,还能够切换DeepSeek-V3、DeepSeek-R1、Qwen-max等模型进行体验。同时Open WebUI还具备开源能力,支持定制工具的开发。您还可以创建其他子账号,将您的专属AI网站分享给他人使用。

热门文章

最新文章