Kubernetes重置
Kubernetes重置背景目前学习期间,使用Kubernates进行各种环境搭建,不免有操作失误导致服务出现各种异常情况,如果重新安装也有点坑,所以此处记录将K8S还原到初始化(也就是重新新建节点的状态)的方式。
内容Master节点12345678kubeadm resetiptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -Xsystemctl stop dockerrm -rf /data/docker/*systemctl stop kubeletrm -rf /var/lib/etcd/*reboot
Kubernetes初略
Kubernetes初略背景近期在看《kubernetes权威指南》这本书,所以需要对文中的一些知识做简要的笔记,本文源自于此。全文内容围绕着第二章Kubernetes架构和部署和第三章Kubernetes快速入门展开
内容Kubernetes以Etcd作为存储中心件,它的很多重要数据都是存储在Etcd中的。Kubernetes本身是主从分布式的架构,分为主节点Master和从节点Node,Master和Node都可以同时配置为多个,以确保服务整体的稳定。
Master在系统中扮演着整体管理的角色,负责调度管理整个系统。构成Master的组件包括:Kubernetes API Server、Kubernetes Scheduler、Kubernetes Controller Manager,它们各自的职能如下(摘录自《kubernetes权威指南》):
Kubernetes API Server:作为Kubernetes系统的入口,其封装了核心对象的增删改查操作,以REST API接口方式提供给外部客户和内部组件调用。它维护的REST对象将持久化到Etcd中。
Kubernetes ...
Kubernetes之搭建
Kubernetes之搭建背景Docker基础看完以后(Docker三剑客就没看了),辗转就到了k8s,k8s本质上替代的是docker三剑客中的docker-swarm,用于容器的大规模集群管理。本文记录的是kubernetes环境的搭建方式。
内容万事开头难,是因为环境的搭建难,k8s也是如此,比起其他的要繁琐很多,因为我到现在都不知道自己的有没有搭建成功,但是下列方法搭建完以后,至少可以试验了。本文安装的环境:
123OS: Ubuntu 20.10CPU: 1CPU # 官方建议2CPUMEMORY: 2G # 1G内存真实够呛
如果你不知道自己的环境是几核CPU,则可以通过如下命令查看:
1sudo cat /proc/cpuinfo | grep "cores"
如果你和我一样,对内存也存在疑虑,则
1sudo dmidecode -t memory | grep "Size"
当然,还有一个更简单的
12345# 直接查看服务器的硬件信息dmidecode# 或者,查看控制台htop
之后开始环境搭建,首先更新一下源信息 ...
Docker实例笔记
Docker实例笔记背景Docker的命令很多,但是如果直接记忆,其实并不利于长期使用,还是要配合着实际案例,尤其是那个Dockerfile自制镜像,原本的方案就是看完基础就撤,但是无奈没看懂那个自制镜像,所以只能继续下去,配合文中实际案例看能否理解
内容所有的镜像文件运行都得有个平台在那,在docker中,基本有如下几种:busybox、apline、debian、ubuntu、fedora、centos,基本创建应用的时候就选择其中一个做平台(就那个dockerfile中的From)
12# 可以自己搜索一下docker search --filter star=50 [镜像名]
默认情况下所有的容器只能通过exec方式进入内容,有点不方便,所以我们可以考虑给容器加个ssh,这样就阔以远程了.
创建这样的镜像有两种方案:基于容器的创建、使用dockerfile创建
123456789101112131415161718# 进入运行的ubuntu容器中apt-get updateapt-get install openssh-server# 编辑容器启动时,启动ssh服务的命令文件 ...
Docker数据卷及镜像管理
Docker数据卷及镜像管理背景在程序中,数据结果是用户的最终目的,而程序是处理数据的工具,二者因为业务走到了一起,但彼此本质是相互独立的。默认情况下docker所有的数据和容器绑定,删除容器的同时也会将其产生的数据删除。很明显这不是我们要的结果,最好的方式是将数据卷和程序独立开。docker针对这样的业务也提供了自己的处理方案:数据卷,
内容数据卷Docker创建通过volume创建数据卷,它存放的路径默认为:/var/lib/docker/volumes下
1docker volume create [数据卷名称]
同样还可以查看数据卷的详细描述信息
1docker volume inspect [数据卷名称]
也可以列出已有的数据卷
1docker volume ls
还可以清理和删除无用的数据卷
12345# 删除数据卷docker volume rm [数据卷名称]# 清理无用的数据卷docker volume prune
同样,在我们创建容器的时候,可以通过--mount将任意路径指定为该容器的数据卷
1234docker run -d --mount type=[ ...
Docker读书笔记
Docker读书笔记背景之前有遇到一篇博文讲docker的,是一篇概要型的文章,对docker常见的命令做了简要的描述,算是启发型的吧。现下打算好好的看看docker的具体内容,为转k8s做准备。
此次阅读的书是《Docker技术入门与实践》,算是入门级的书籍,本文也是对读书过程中遇到的知识点做简要的描述。
内容Docker安装关于Docker的安装,网上一搜一大堆,没有必要做过多的记忆,毕竟这类事只要不换环境,基本一劳永逸。但是文中讲述了我一直有疑问的两个点:
为啥每次都要sudo才能启动docker的服务?
因为当前用户不在docker用户组中,解决方案是将当前用户添加到用户组中即可
123whoamisudo usermod -aG docker user_name
docker生产环境中建议安装稳定版,安装后还需要检查是否开了调试模式,建议关闭
12# 查看是否开启了调试模式sudo docker version -f '{{.Server.Experimental}}'
镜像Docker的组成一共三大块:镜 ...
Nginx配置指定用户访问
Nginx配置指定用户访问背景
解决问题
网站上有一些页面还没有修改完毕,此时不便于提供给用户浏览,又或者是有一个页面的数据只是用于个人浏览,便需要对页面进行加密,此前尝试通过hexo的插件加密指定的网页,但本质上密码就写在了html源码里,形同虚设。这一切都是限于网站是静态的,无法从程序上进行限制,所以考虑直接从nginx服务器端直接控制,便引入了auth_basic的配置项
使用模块
htpasswd、nginx
参考文档
https://www.cnblogs.com/xzlive/p/9492879.html
http://www.tashan10.com/nginxshe-zhi-wang-zhan-fang-wen-mi-ma/
使用
安装htpasswd的包
1sudo apt-get install apache2-utils
执行命令生成密码文件,htpasswd的具体参数详见拓展部分
123# htpasswd [参数] 文件存储的绝对路径 用户名 密码# 此处因为指定了-b选项,所以可以直接在后面追加用户名和密码的选项htpasswd -bdc pwd ...
GoAccess分析Nginx日志
GoAccess分析Nginx日志背景
解决问题
最近搭建静态网站,并挂到了Google上,虽然可以通过Google Search Console后台查看曝光度等信息,但是无法实时的查看到网站真实的访问情况,这一点很可惜。恰逢遇到GoAccess工具,可以提供实时解析nginx、apache等之类日志的功能,同时将其输出为多种格式,如:json、csv、html。这对于静态网站而言是一大利器,解决了静态网站无法实时分析访问日志的弊端。
使用模块
GoAccess
前提:
本文以生成html文件为例子,json和csv也是同理,主要就是需要修改goaccess的配置文件中的output/out参数
参考文档
官方网站:https://www.goaccess.cc
Github地址:https://github.com/allinurl/goaccess
使用
安装GoAccess,里面会有一些环境需要安装,这个可以根据报错提示的内容直接百度安装
直接安装
1sudo apt install goaccess
手动安装(本文采用)
1234567891011 ...