前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >APISIX教程(一):怎么在kubernetes中安装apisix-ingress-controller

APISIX教程(一):怎么在kubernetes中安装apisix-ingress-controller

作者头像
锅总
发布于 2024-06-19 06:35:28
发布于 2024-06-19 06:35:28
55000
代码可运行
举报
文章被收录于专栏:锅总锅总
运行总次数:0
代码可运行

一、apisix简介

一款云原生声明式网关!

以下简介摘自官方:

Apache APISIX 是 Apache 软件基金会下的顶级项目,由 API7.ai 开发并捐赠。它是一个具有动态、实时、高性能等特点的云原生 API 网关

你可以使用 APISIX 网关作为所有业务的流量入口,它提供了动态路由、动态上游、动态证书、A/B 测试、灰度发布(金丝雀发布)、蓝绿部署、限速、防攻击、收集指标、监控报警、可观测、服务治理等功能。

二、kubernetes环境准备

2.1 安装sealos

操作系统环境 Ubuntu22.04LTS 内核版本 5.15.0-106-generi

代码语言:txt
AI代码解释
复制
root@gentlewok:/opt/ingress-apisix-1.7.0# uname -r
 
5.15.0-106-generic
代码语言:txt
AI代码解释
复制
root@gentlewok:~# cat /etc/os-release
 
PRETTY_NAME="Ubuntu 22.04 LTS"
 
NAME="Ubuntu"
 
VERSION_ID="22.04"
 
VERSION="22.04 (Jammy Jellyfish)"
 
VERSION_CODENAME=jammy
 
ID=ubuntu
 
ID_LIKE=debian
 
HOME_URL="https://www.ubuntu.com/"
 
SUPPORT_URL="https://help.ubuntu.com/"
 
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
 
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
 
UBUNTU_CODENAME=jammy
代码语言:txt
复制

2.2 安装 K8s 单机版

用sealos启动一个单节点的kubernetes

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#安装sealos

$ VERSION=v4.
3.7

$ curl -sfL https:
//mirror.ghproxy.com/https://raw.githubusercontent.com/labring/sealos/main/scripts/install.sh | PROXY_PREFIX=https://mirror.ghproxy.com sh -s ${VERSION} labring/sealos
代码语言:txt
AI代码解释
复制
 sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes-docker:v1.27.7 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4--single

安装成功标志

代码语言:txt
AI代码解释
复制
kubectl get node
 
kubectl get pod --all-namespaces

2.2 安装apisix

代码语言:txt
AI代码解释
复制
 git clone --depth 1--branch 1.7.0 https://github.com/apache/apisix-ingress-controller.git ingress-apisix-1.7.0
 
 cd ingress-apisix-1.7.0
 
 kubectl apply -k samples/deploy/crd/v1/
 
 kubectl apply -f samples/deploy/composite.yaml

安装成功标志

代码语言:txt
AI代码解释
复制
 kubectl get pod -n ingress-apisix

变为 Running则表示apisix-ingress-controller安装成功

三、注意点

  • sealos安装需要系统内核版本在 5.4 及以上
  • sealos run运行根据镜像确认容器运行时,官方默认使用这个镜像( registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7) ,而该镜像安装的容器运行时为 CRI-O, 为方便理解,本文采用大家都熟悉的 Docker容器运行时,对应的镜像是这个( registry.cn-shanghai.aliyuncs.com/labring/kubernetes-docker:v1.27.7)
  • apisix顺利启动需要能让docker拉取镜像,目前国内访问不了docker官方镜像,需要一点科学知识,你懂的~

四、总结

Sealos一键拉起一个kubernetes , 真香 ,作为测试使用,笔者认为比minikube好用多了,一家之言,兼听~

有了本文的环境后,后续将围绕 apisix写一系列教程,敬请关注~

相关链接:

  • https://apisix.apache.org/zh/docs/apisix/getting-started/README
  • https://sealos.io/zh-Hans/docs/self-hosting/lifecycle-management/quick-start/deploy-kubernetes
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 锅总 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
extern关键字详解
extern放在变量或者函数之前,表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
WindSun
2019/08/29
1.8K0
C++的extern关键字知识点
转载自http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html 感觉写的比百毒上搜到的大多数要好! 1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。       也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告
老白
2018/03/19
1K0
深入理解extern使用方法
我们一般把全部的全局变量和全局函数的实现都放在一个*.cpp文件中面,然后用一个同名的*.h文件包括全部的函数和变量的声明。如:
全栈程序员站长
2022/07/07
4930
C++ 温习笔记(1) - main函数,类对象,作用域,防止头文件二次编译
main 函数返回值c和c++不一样:c可以为void,c++只能是int c语言func()里面可以传任意参数,c++则认为等同于func(void) int main(int argc, const char* argv[]):第一个为传入参数个数,第二个是传入参数,默认空为1和路径
干货满满张哈希
2021/04/12
1.1K0
c语言全局变量和局部变量问题汇总
局部变量能够与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内能够定义多个同名的局部变量,比方在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。
全栈程序员站长
2022/07/11
9370
C++随记(八)---存储持续性、作用域和链接性
该文介绍了C++中的存储持续性、作用域和链接性,以及函数的作用域、链接性和静态局部变量,并探讨了C++中的函数调用机制和作用域规则,以及命名空间的使用方法。
TeeyoHuang
2017/12/28
1.1K0
《C语言深度剖析》---------关键字(1)
为什么一定要加载到内存上面呢,因为CPU访问内存的速度非常快,如果要是放到硬盘里面;
阑梦清川
2025/02/24
540
《C语言深度剖析》---------关键字(1)
面试中常见的 C 语言与 C++ 区别的问题
C和C++中都有关键字static关键字,那么static关键字在C和C++中的使用有什么区别?请简述之。
C语言与CPP编程
2020/10/22
9420
面试中常见的 C 语言与 C++ 区别的问题
C语言变量的作用域和类别-学习二十
本文最后更新于2022年02月14日,已超过13天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/03/01
1K0
C语言变量的作用域和类别-学习二十
C语言深入理解extern用法 | 变量声明 | static
我们一般把所有的全局变量和全局函数的实现都放在一个*.cpp文件里面,然后用一个同名的*.h文件包含所有的函数和变量的声明。如:
CtrlX
2022/11/22
1.8K0
C++变量总结束 | 输出各种变量的值
C++中一个函数一般由:声明部分、执行语句两部分组成,声明部分的作用是对有关的标识符的属性进行说明,对于函数,声明和定义的区别是明显的,函数的声明是函数的原型,而函数的定义是函数功能的确立。
小林C语言
2020/12/01
2.1K0
C++变量总结束 | 输出各种变量的值
C语言变量的存储方式、作用域和生命周期
1、作用域问题:在一个函数中定义的变量,在其他函数中能否被引用?在不同位置定义的变量,在什么范围内有效?
CtrlX
2022/11/22
9710
C++中的作用域与生命周期
Pascal之父Nicklaus Wirth曾经提出一个公式,展示出了程序的本质:程序=算法+数据结构。后人又给出一个公式与之遥相呼应:软件=程序+文档。这两个公式可以简洁明了的为我们展示程序和软件的组成。
恋喵大鲤鱼
2018/08/03
1.2K0
c++存储类
存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类:
爱学iOS的小麦子
2023/01/18
7530
C++ 存储类
存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类:
C语言与CPP编程
2020/12/02
9300
c语言局部变量、全局变量、静态变量、内部函数、外部函数、声明、定义、extern作用总结
  前两种方式定义的变量可以在函数内任何地方使用,而第三种方式定义的变量只能在复合语句内使用。
vv彭
2020/10/27
10.7K0
c语言局部变量、全局变量、静态变量、内部函数、外部函数、声明、定义、extern作用总结
完全入门C语言
C语言是一门通用的计算机编程语言,广泛应用于底层开发。其设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。有良好的跨平台的特性。 同时C语言还是面向过程的编程语言,这与JAVA C++等面向对象的编程语言有所不同。 目前主流的C语言编译器有:GCC Clang MVSVC等
Yui_
2024/10/15
2090
完全入门C语言
计算机萌新的成长历程——初识C语言16
大家好,很高兴又能跟各位朋友见面了,前面我们花了两篇内容来探讨操作符的相关内容,今天咱们要开始探讨新的内容了——常见关键字。
蒙奇D索隆
2023/10/13
1950
计算机萌新的成长历程——初识C语言16
必须使用extern的场景
即使不使用extern,在头文件中定义的全局变量,也可以被引用了该头文件的外部源文件使用。那extern存在的意义是什么?它要解决什么问题?
村子里的设计师
2023/05/20
5430
7.5 C语言变量的存储方式和生存期
4、全局变量全部存放在静态存储区中,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放。
小林C语言
2020/12/07
8160
7.5 C语言变量的存储方式和生存期
相关推荐
extern关键字详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验