概述
一、OpenResty入门安装
1、Centos中安装OpenResty
参考文档:https://openresty.org/cn/linux-packages.html#centos
你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum check-update 命令)。 运行下面的命令就可以添加我们的仓库(对于 CentOS 8 或以上版本,应将下面的 yum 都替换成 dnf):
# add the yum repo:
(1) wget https://openresty.org/package/centos/openresty.repo
(2) sudo mv openresty.repo /etc/yum.repos.d/
# update the yum index:
(3)sudo yum check-update
(4)sudo yum install -y openresty 安装软件包
(5)sudo yum install -y openresty-resty 安装命令行工具 resty
对于 CentOS 8 及更新版本,我们只需要将上面的 yum 命令都替换成 dnf 即可。
whereis openresty
cd /usr/bin
openresty -s stop
ps -ef|grep nginx
openresty -s stop
2、 在指定目录中,新建nginx文件
参考文档:https://openresty.org/cn/linux-packages.html#centos
(1)mkdir /home/www/logs/conf 新建Nginx对应目录
(2)touch nginx.conf 新建nginx配置文件
(3)vi nginx.conf 编写nginx脚本
(4)/usr/local/openresty/nginx/sbin/nginx -p `pwd`/ -c conf/nginx.conf 启动Nginx
(5)测试curl http://localhost:9000/
二、APISIX安装与介绍
1、 APISIX简介
Apache APISIX 是一个动态、实时、高性能的 API 网关, 提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。你可以使用 Apache APISIX 来处理传统的南北向流量,以及服务间的东西向流量, 也可以当做 k8s ingress controller 来使用。
2、APISIX 项目地址:
https://github.com/apache/apisix
3、使用docker安装apisix
(1)安装提示
使用docker安装apisix前提得先安装好docker和docker-compose,
apisix安装包用git方式拉取,所以建议先安装git,没安装的自行在电脑上拉取后传到linux服务器。
(2)git安装
yum -y install git 使用yum安装
git version 查看安装版本
(3)docker入门安装
X : 错误打开方式:直接使用yum安装。会提示启动报错
yum install docker
service docker start
验证1:验证无果
cd /usr/lib
cd systemd
cd system
touch docker.socket
systemctl daemon-reload
systemctl start docker.service
service docker start
验证2:验证有效
docker version(检查docker状态和版本)
Y : 正确打开方式
cd /usr/bin/
yum -y install docker-ce docker-ce-cli containerd.io
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y yum-utils(使用yum的工具集安装)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce docker-ce-cli containerd.io
yum -y install gcc
yum -y install gcc-c++
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce docker-ce-cli containerd.io
yum -y install docker-ce
yum -y install docker(依旧是提示)
systemctl start docker
yum -y install podman
切换镜像源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
查看当前镜像源中支持的docker版本
yum list docker-ce --showduplicates
安装特定版本的docker-ce,
-y表示安装过程中都同意安装,–setopt=obsoletes=0,否则yum会自动安装更高版本
yum install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.el7 -y
添加一个配置文件
(1)方法1:编辑 daemon.json
mkdir /etc/docker
cat <<EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"]
}
EOF
(2) 方法2:编辑 daemon.json
vi /etc/docker/daemon.json(用vi打开 daemon.json)
cd /etc (切换到etc目录)
mkdir docker(新建docker目录)
cd docker/(进入docker目录)
touch daemon.json(新建文件daemon.json)
vi daemon.json (编辑daemon.json)
systemctl restart docker(启动docker)
systemctl enable docker(启动docker)
podman替换了docker作为高版本cestos默认的容器
systemctl start podman (podman服务启动)
podman -v(podman的版本查看)
podman --help
podman stop
podman images
(4)docker-compose安装
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose(下载二进制文件并且拷贝到执行目录)
sudo chmod +x /usr/local/bin/docker-compose(添加执行权限)
docker-compose --version(查看安装版本)
ulimit -n 65535(增加最大文件打开数)
(5)Apisix安装
下载 apisix-docker
git的方式安装
cd /home/apisix-docker/(访问特定的安装目录)
git clone https://github.com/apache/apisix-docker.git(下载git中的apisix)
chmod -R 777 ./example/(增加执行权限)
cd apisix-docker/example(进入到example目录)
docker-compose -p docker-apisix up -d (使用docker-compose 启动apisix )
docker-compose -p docker-apisix down (使用docker-compose 关闭apisix服务)
如果端口有冲突的话修改配置文件,没有跳过此步骤
docker ps --format "table {{.ID}}t{{.Names}}t{{.Ports}}" | grep apisix(查看安装结果)
rpm的方式安装
sudo yum install -y https://github.com/apache/apisix/releases/download/2.5/apisix-2.5-0.x86_64.rpm
(6)卸载掉Podman,使用docker作为默认容器
引用:Centos8,安装docker 默认装的是podman-docker 软件
就需要卸载装的podman-docker,重新安装就可以了,解决办法如下
1,卸载podman软件(可以使用rpm -qal grep docker)
yum remove docker
2,下载docker-ce源
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
3,安装docker-ce
yum install docker-ce -y
实操内容:
docker-compose down (关闭 docker-compose)
docker ps -a(docker查看所有进程)
docker-compose -p apisix-docker down
yum remove docker(删除docker
rpm -qa |grep docker(查看docker的源)
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo(下载repo)
yum clean all(清理yml)
yum list docker-ce(查看 yml-list docker-ce)
yum install docker-ce -y(查看 yml-list docker-ce)
service docker start (docke 启动 )
docker-compose -p apisix-docker up -d (docker-compose启动apisix-docker)
docker ps -a(docker查看所有启动的进程 )
(6) 管理apisix-dashboard服务
您可以使用以下命令来管理服务。
>systemctl start apisix-dashboard(启动apisix-dashboard)
>systemctl stop apisix-dashboard(停止apisix-dashboard)
>systemctl status apisix-dashboard(检查apisix-dashboard状态)
(7)测试访问与验证dashboard
没有权限的报错
浏览器输入:http://:9000,访问Web页面,如果报错:
{“Code”:20002,“Message”:“IP address not allowed”,“Data”:null,“SourceSrv”:“”}
allow_list的修改
默认情况下,127.0.0.0/24允许访问的 IPv4 范围APISIX Dashboard。
表示该终端没有权限访问,只需在apisix/conf/config.yaml 文件中的allow_admin处
如果是虚拟机或者docker机器的话,可能需要打开admin的访问显示
如果要允许所有IPv4访问,那么只需conf.allow_list在配置文件中conf/conf.yaml
vim /usr/local/apisix/conf/config.yaml,
vi /usr/local/apisix-dashboard/conf/conf.yaml
找到 allow_admin,进行如下配置:- 127.0.0.0/24 改为 - all
conf:
allow_list:
- 0.0.0.0/0
增加允许访问终端IP,执行make init 初始化数据, make reload 重启即可。
就是允许所有IP访问,生产环境可不能这样,有非常大的安全风险
(2.1版本信息在,config-default.yaml文件中,可以在config.yaml文件里面
添加会默认优先读取覆盖掉config-default.yaml文件,也可以直接在config-default.yaml文件中更改)
可以参考以下修改
网关信息配置说明
网关配置信息基本上是在conf/config.yaml进行配置,配置文件在修改后,需要make init 才能生效。下面大概说明几个关键地方:
allow_admin: 表示允许访问控制台dashboard的IP地址;
node_listen : 网关监听的端口默认9080,可根据需要进行更改端口;
allow_admin: 允许访问控制台的IP白名单,将其注释表示允许所有IP访问。
etcd host 配置etcd的地址,默认本机(etcd集群配置也是在这里);
访问管理端口与测试
访问管理台 ip:9000(如果是远程访问记得开放端口)
默认账号密码 admin:admin
三、复习:
(1)docker-compose操作
#拉取镜像
docker-compose pull
#创建并启动镜像
docker-compose -p docker-apisix up -d
#停止并删除镜像
docker-compose -p docker-apisix down
#启动服务
docker-compose -p docker-apisix start
#停止服务
docker-compose -p docker-apisix stop
(2)docker操作
#停止、启动、kill指定容器
docker stop containerid
docker start containerid
docker kill containerid
# 查看运行的容器
docker ps
#停止指定容器
docker stop $(docker ps -qa)
#删除全部容器
docker rm $(docker ps -qa)
#删除指定容器
docker rmi containerid
#查看所有镜像
docker images
#查看容器日志
docker logs -f containerid
#进入到容器内部
docker exec -it containerid /bin/sh
最后
以上就是传统菠萝为你收集整理的【项目实战】复盘APISIX云原生网关-APISIX安装全过程的全部内容,希望文章能够帮你解决【项目实战】复盘APISIX云原生网关-APISIX安装全过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复