数据存储概述 容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。Volume的生命容器不与Pod中单个容器的生命周期相关,当容器终止或者重启时,Volume中的数据也不会丢失。 数据存储类型 * 简单存储:Em
阅读全文 »

Service概述 在kubernetes中,pod是应用程序的载体,可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。 Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程,每个Node节点上都运行着一个kube-proxy服务进程。当创建Service的时候会通过api-ser
阅读全文 »

Pod控制器概述 引入 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: * 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建 * 控制器创建的pod:kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建 控制器 Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。
阅读全文 »

概述Pod 什么是Pod? Pod 是在 Kubernetes 中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个) 容器; 这些容器共享存储、网络、以及怎样运行这些容器的声明。 Pod 中的内容总是并置(colocated)的并且一同调度,在共享的上下文中运行。 Pod 所建模的是特定于应用的 “逻辑主机”,其中包含一个或多个应用容器, 这些容器相对紧密地耦合在一起。 在非云环境中,在相同的物理机或虚拟机上运行的应用类似于在同一逻辑主机上运行的云应用。 Pod的结构 每一个Pod都可以包含一个或者多个容器,这些容器分为两种: * 程序容器,
阅读全文 »

VSFTPD vsftpd 是一款UNIX/LINUX上的FTP服务器软件,号称是”可能是类UNIX系统中最安全、最快的FTP服务器”,其具有安全、快速、稳定、开源 (基于 GPLv2 协议开源)的特点。 官网:https://security.appspot.com/vsftpd.html 安装方式 1 yum -y install vsftpd 相关文件 配置文件:/etc/vsftpd/vsftpd.conf 服务脚本:/usr/lib/systemd/system/vsftpd.service,/etc/rc.d/init.d/vsftpd 用户认证配置文件:/etc/pam
阅读全文 »

准备开始 * 一台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令 * 每台机器 2 GB 或更多的 RAM (如果少于这个数字将会影响你应用的运行内存) * 2 CPU 核或更多 * 集群中的所有机器的网络彼此均能相互连接(公网和内网都可以) * 节点之中不可以有重复的主机名、MAC 地址或 product_uuid。请参见这里了解更多详细信息。 * 开启机器上的某些端口。请参见这里 了解更多详细信息。 * 禁用交换分区。为了保证 kubelet 正常工作,你 必须
阅读全文 »

数据库迁移 起因 本站用的服务器是腾讯云的轻量应用服务器,规格是2核4G8M的,前些日子开了一个游戏服务器和朋友联机,发现这个内存跑到3000左右的时候就会变的比较卡,到3500左右就会直接死机,当时就想着给服务器优化一下 环境 当时我服务器运行了typecho、harbor、gogs、Jenkins、游戏服务器、还有一些我自己写的后端程序,都在docker上运行,其中typecho、gogs的数据库都是运行单独的mysql5.7,端口不往公网暴露,然后还有一个mysql8.0对外暴露给我自己用,一共是三个,当时就寻思把gogs和typecho的迁移到8.0里面 第一次迁移 当开始迁移的时
阅读全文 »

概述 Git是一个开源免费的分布式版本控制系统,可以快速高效的来管理项目代码。 官网:https://git-scm.com/ 安装 Windows Linux 1 yum -y install git 工作流程 在本地主机会分三个区域,分别为工作区、暂存区、本地库,如果需要多人协作可以上传到一个远程仓库里面提供他人管理代码。 区域作用工作区写代码的过程都会在工作区内完成,写完之后需要上传到暂存区暂存区代码写完之后需要放到暂存区,确定没有问题之后需要把版本信息和暂存区的内容上传到本地库本地库全部的版本都在本地库里面远程库远程仓库是整个团队中所有人都可以访问的地方。代码管理 设
阅读全文 »

概述 Netfilter/iptables(以下简称iptbales)是unix/linux自带的一款优秀切开放源代码的完全自由的基于包过滤的防护墙工具,他的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进行很精细的控制。 Iptables是linux2.4以2.6内核中集成的服务。其功能与安全性比其老一辈ipfwadm,ipchains强大的多(长江后浪推前浪),iptable主要是工作在OSI模型的二三四层,如果重新编译内核,iptables也可以支持7层控制(squid代理+iptables)。 专业名词 Netfilter/iptables 可以把Netfilter/ip
阅读全文 »

概述 systemctl是一个systemd中其中一个工具,主要用于控制systemd系统和各种服务的管理。在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是如此。 相关目录 目录用处/usr/lib/systemd/system/每个服务最主要的启动脚本目录/run/systemd/system/系统所生成的服务脚本目录,优先级比/usr/lib/systemd/system/高/etc/systemd/system/自己创建的服务启动脚本目录,优先级/run/syste
阅读全文 »