Centos下载rpm全量依赖包的方式

介绍

通常生产环境由于安全原因都无法访问互联网。此时就需要进行离线安装,主要有两种方式:源码编译、rpm包安装。源码编译耗费时间长且缺乏编译环境,所以一般都选择使用离线 rpm 包安装。

阅读更多
RedHat8.4初始化

RedHat8.4初始化

介绍

这边参考 centos;

CentOS 8基于RHEL 8版本,最初发行时使用Linux kernel 4.18, GCC 8.2, glibc 2.28, systemd 239和GNOME 3.28。
虽然yum仍然可以作为软件包管理器使用,并且您可以像以前一样继续使用它,但是它已经在后端进行了重大升级,从CentOS 7的版本3升级到CentOS 8的版本4。

阅读更多

使用Docker buildx构建多平台的镜像

介绍

官网:Docker Buildx

在日常的开发中,我们会有让程序在不同平台运行的需求。除了常用的Windows系统,Linux系统以及Mac OS系统外,我们甚至还希望让程序运行在以树莓派为代表的ARM平台下,或者是跑在嵌入式设备的路由器上。要构建出适合不同平台的镜像并不是一件容易的事情,除非你直接到目标平台下构建,或者模拟出目标平台下的环境来进行构建。

幸好,新版的Docker从版本19.03后已经开始支持一个新的命令行工具,叫做buildx,目地就是为了解决我们在一个平台下,一次性构建出多个平台可用镜像的需求。BuildKit 是下一代的 Docker 镜像构建工具,来源于 Moby/BuildKit。在最新的 Docker Desktop 和 Docker CE 中,官方以 Buildx 形式集成到 Docker CLI 中,不再需要额外构建添加。buildx是一个基于命令行的Docker扩展插件。

本章以macOS示例

阅读更多
Kubernetes-Ingress的使用

Kubernetes-Ingress的使用

介绍

官方文档:Ingress

Ingress 为外部访问集群提供了一个 统一 入口,避免了对外暴露集群端口;功能类似 Nginx,可以根据域名、路径把请求转发到不同的 Service。可以配置 https

跟 LoadBalancer 有什么区别?

  • LoadBalancer 需要对外暴露端口,不安全;
  • 无法根据域名、路径转发流量到不同 Service,多个 Service 则需要开多个 LoadBalancer;
  • 功能单一,无法配置 https
阅读更多
Kubernetes-命名空间的使用

Kubernetes-命名空间的使用

介绍

如果一个集群中部署了多个应用,所有应用都在一起,就不太好管理,也可以导致名字冲突等。
我们可以使用 namespace 把应用划分到不同的命名空间,跟代码里的 namespace 是一个概念,只是为了划分空间。

官方文档

阅读更多
Kubernetes-Helm的使用

Kubernetes-Helm的使用

介绍

Helm类似 maven, npm,pip,docker hub, 可以理解为是一个软件库,可以方便快速的为我们的集群安装一些第三方软件。
使用 Helm 我们可以非常方便的就搭建出来 MongoDB / MySQL 副本集群,YAML 文件别人都给我们写好了,直接使用。官网应用中心

阅读更多
Kubernetes-ConfigMap与Secret的使用
Kubernetes-数据持久化

Kubernetes-数据持久化

介绍

kubernetes 集群不会为你处理数据的存储,我们可以为数据库挂载一个磁盘来确保数据的安全。
你可以选择云存储、本地磁盘、NFS。

  • hostPath:把节点上的一个目录挂载到Pod,官方不推荐了,仅供单节点测试使用;不适用于多节点集群;

  • 本地磁盘:可以挂载某个节点上的目录,但是这需要限定 pod 在这个节点上运行

  • 云存储:不限定节点,不受集群影响,安全稳定;需要云服务商提供,裸机集群是没有的。

  • NFS:不限定节点,不受集群影响

阅读更多
Kubernetes-StatefuSet的使用

Kubernetes-StatefuSet的使用

什么是 StatefulSet

StatefulSet 是用来管理有状态的应用,例如数据库。
deployment 部署的应用,都是不需要存储数据,不需要记住状态的,可以随意扩充副本,每个副本都是一样的,可替代的。而像数据库、Redis 这类有状态的,则不能随意扩充副本。StatefulSet 会固定每个 Pod 的名字

阅读更多
Kubernetes-Service的使用

Kubernetes-Service的使用

特性

  • Service 通过 label 关联对应的 Pod
  • Servcie 生命周期不跟 Pod 绑定,不会因为 Pod 重创改变 IP
  • 提供了负载均衡功能,自动转发流量到不同 Pod
  • 可对集群外部提供访问端口
  • 集群内部可通过服务名字访问
阅读更多