docker-compose 1.29.1 二进制安装与使用
Write by lyc at 2019-8-22Update by lyc at 2020-4-26: 更新版本docker-compose 官方文档docker-compose Github
1.docker-compose 1.29.1 二进制安装Compose 是一个定义和管理多容器的工具,使用 Python 语言编写,负责快速的部署分布式应用。
使用Compose配置文件描述多个容器应用的架构,比如使用什么镜像、数据卷、网络、映射端口等;然后一条命令管理所有服务,比如启动、停止、重启等。
123456$ cd /usr/local/src$ wget https://github.com/docker/compose/releases/download/1.29.1/docker-compose-Linux-x86_64$ mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose$ chmod +x /usr/local/bin/docker-compose$ docker-compose --versi ...
kubectl labels 标签
Write by lyc at 2021-4-26
kubectl labels 标签
kubernetes 标签和选择算符k8s kubernetes给node节点添加标签和删除node节点标签
标签(Labels) 是附加到 Kubernetes 对象(比如 Pods)上的键值对。标签旨在用于指定对用户有意义且相关的对象的标识属性,但不直接对核心系统有语义含义。
标签可以用于组织和选择对象的子集。标签可以在创建时附加到对象,随后可以随时添加和修改。 每个对象都可以定义一组键/值标签。每个键对于给定对象必须是唯一的。
与名称和 UID 不同, 标签不支持唯一性。通常,我们希望许多对象携带相同的标签。
1.标签管理12345678# 查看标签 nodes, pods 等$ kubectl get node --show-labels# 创建标签$ kubectl label nodes <node-name> <label-key>=<label-value> # 删除标签,<label-key> 后面的减号表示将该标签删除$ ...
Hexo博客迁移到群晖nas的docker
Write by lyc at 2021-4-22
一、Hexo 迁移到 docker image
参考博文 Docker 部署Hexo
1.原 Hexo目录结构优化12345$ tree ./data/root/www.lyc7456.com├── data # 存放hexo根目录下所有内容├── source # 存放hexo的source文件夹下的内容└── themes # 存放hexo主题
为什么要把 source目录和 themes目录分离出来?
目的是为了 docker挂载数据卷。
因为docker container本身是无状态的,而我们的博客文章、主题是持久化的数据,需要映射到宿主机上。
未来我们更新文章、主题样式只需要更新宿主机的挂载目录,再重启容器即可完成文章的加载更新。
2.Hexo 制作成 docker image2.1 服务器上登陆你的 docker hub账号1234$ docker loginLogin with your Docker ID to push and pull images from Docker ...
kubenetes 四种 Service 类型
Write by lyc at 2021-4-23
kubenetes 四种 Service 类型1.K8S Service 介绍Service 是什么?
Service 是 Kubernetes 集群中的一个资源对象,用于定义如何访问一组带有相同特征的 Pods,提供统一的访问入口 + 负载均衡。通常情况下,Service 通过 Label Selector 来确定目标 Pods,ExternalName Services 例外,关于 Service 的详细介绍,请参阅官方文档中 Service 章节。
Kubernetes 提供了四种类型的 Service,分别用于不同的业务场景,默认的类型是 ClusterIP 。
ClusterIP
NodePort
LoadBalance
ExternalName
iptables 或者 ipvs 是 Service 的具体实现手段,为一组 Pods 提供负载均衡能力。
Pods 与 Service 的关系是:Service 通过 Pods 的 label 标签关联一组 Pods
Service 工作流程:
流程:客户端 -> ...
kubernetes 工作负载控制器(一):Deployment
Write by lyc at 2021-4-15
工作负载控制器是什么?
kubernetes 工作负载
工作负载控制器 Work Controllers 是 k8s 的一个抽象概念,用于更高级层次对象,部署和管理 Pod。
常用工作负载控制器:
Deployment 无状态应用部署
StatefulSet 有状态应用部署
DaemonSet 确保所有 node 运行同一个 Pod
Job 一次性任务
Cronjob 定时任务
控制器的作用:
管理 Pod 对象
使用标签与 Pod 关联
控制器实现了 Pod 的运维,例如滚动更新、伸缩、副本管理、维护 Pod 状态等。
kubernetes 工作负载控制器(一):Deployment1.Deployment 控制器介绍Deployment 的功能
管理 Pod 和 ReplicaSet
具有上线部署、副本设定、滚动升级、回滚等功能
提供声明式更新,例如只更新一个新的 Image
Deployment 应用场景:网站、API、微服务
什么是 ReplicaSet 控制器?
ReplicaSet 控制器用途:
...
WebDAV协议外网访问群晖Nas共享文件夹
Write by lyc at 2021-4-13[许迎果讲科普] NAS系列第八集 文件传输协议<群晖NAS>使用WebDAV在任意操作系统,挂载NAS文件夹
WebDAV协议外网访问群晖Nas共享文件夹1.介绍WebDAV 是一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。许迎果 最推荐的外网访问 Nas 共享文件夹的协议,没有之一。
国内为什么不流行使用 WebDAV?
主要是因为如果国内网盘都支持 WebDAV 协议,部分用户就不会去特地的下载网盘客户端,直接依靠协议在第三方应用使用,但是这样做在方便客户的同事会对网盘公司造成极大损失!广告获利和用户量等都会有所减少,从而对网盘公司的运营造成打击。
2.群晖 Nas 安装 WebDAV套件安装与配置 WebDAV套件
配置套件:为了提高安全性请使用 https
共享文件夹授权指定用户可读写
...
kubeadm快速搭建K8s集群v1.19
Modify by lyc at 2021-4-2
以下为测试环境的实验记录,博文参考自 李振良OK:使用 kubeadm 快速部署一个 Kubernetes 集群
kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具。
这个工具能通过两条指令完成一个 kubernetes 集群的部署:
12345# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口 >
1. 安装要求在开始之前,部署 Kubernetes 集群机器需要满足以下几个条件:
一台或多台机器,操作系统 CentOS7.x-86_x64
硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
集群中所有机器之间网络互通
可以访问外网,需要拉取镜像
禁止swap分区
2. 准备环境
角色
IP
k8s-master1
192.168.99.101
k8s-node1
192.168.99.102
k8s-node2
192.168. ...
数据备份的“三二一”法则
Write by lyc at 2021-3-5
数据备份的“三二一”法则
有感记录,来自于 许迎果讲科普 NAS系列第一集 数据存储是什么
三 3份重要数据这里的“三”指的是:3份重要数据
既同一数据至少保留三份,包括原数据在内算一份,额外再备份两份副本。
另外之所以需要不低于两份备份的原因,是可将主副本及副副本存于不同的地方。
二 2种不同媒介这里的“二”指的是:2种不同媒介
既将数据副本以至少两种不同的媒介或存储类型保存,可以是硬盘,光盘,磁带等不同存储介质,也可以是服务器,移动硬盘,云存储等不同的存储类型。
由于同一存储方案的不同硬盘有可能连续发生故障,因此建议数据存于至少2种存储媒介中,这样可以确保不会因为使用同一装置存储数据而引起相同的故障,从而做到有备无患。
一 1处异地备份这里的“一”指的是:1处异地备份
既至少将一份数据备份存储在异地。
这样即使数据所在地发生意外(火灾、水灾、被盗等),所有数据的各种备份全部损坏,但至少存储在异地的那一份数据是安全的。
所以说一定存储备份,也是非常关键且十分有必要的。
CentOS7部署subversion-1.8.x
安装 subversion-1.8.19安装前先卸载操作系统上旧版的 subversion
1yum remove subversion*
配置海外DNS,安装 svn, apache, svnmanager 等需要连海外的 rpm 仓库,否则会出现域名无法解析的报错 [Errno 14] curl#6 - "Couldn't resolve host ..."
12$ vim /etc/resolv.confnameserver 8.8.8.8
CentOS 默认的 yum 仓库安装的是 svn-1.7.x,需要配置指定 rpm 仓库来安装更高版本的的 svn
123456789101112131415161718$ cat > /etc/yum.repos.d/wandisco-svn.repo << EOF[WandiscoSVN]name=Wandisco SVN Repobaseurl=http://opensource.wandisco.com/centos/7/svn-1.8/RPMS/$basearch/enabled= ...
2021家庭网络wifi6改造
Write by lyc at 2021-3-9:过程记录,思路解读
一、2021家庭网络wifi6改造改造前网络架构使用华为 AC1200 WS5200 主路由 + 华为Wifi信号放大器(有线)。
家人屡次对网络表示“卡”,对从事IT工作的本人表示嫌弃。
不堪忍辱,经查阅参考多方网络资料,决定对家庭网络开展实施 《2021家庭网络wifi6改造计划》。
实施改造完成日期 2021年1月,总结文档于3月份,方便以后查阅。
参考资料
[许迎果教程] 常见家庭网络方案盘点之 五 MESH方案[许迎果教程] 六种常见家庭网络方案盘点 合集版 路由器 WiFi 组网许迎果 第204期 双11路由器型号推荐之软路由 上篇许迎果 第205期 双11路由器型号推荐之软路由 下篇
二、改造后网络拓扑(Mesh组网)
三、拓扑思路解读1.光猫
300M电信宽带光猫入户,光猫桥接模式,仅负责光电转换。
光猫改桥接:拨打运营商客服或找安装电信的师傅,把光猫改桥接模式,由主路由负责拨号上网,并且要告知客服我们需要获得公网IP,否则会变成大内网IP。
关闭光猫无线功能,减少信道干扰。
光猫 ...