Nextcloud 优点
- 完全开源
- 支持web界面、手机ios系统、手机安卓系统
- 容器化部署
准备环境
- 部署 docker、docker-compose (本文不讲docker、docker-compose部署)
闪射理想之光吧心灵之星!把光流注入未来的暮霭之中。
在k8s中节点会通过docker pull机制获取外部的镜像,那么什么时候清除镜像呢?k8s运行的容器又是什么时候清除呢?
api-server: 运行在master,无状态组件,go自动内存垃圾回收controller-manager: 运行在master,无状态组件,go自动内存垃圾回收,owner机制提供resource垃圾回收scheduler: 运行在master,无状态组件,go自动内存垃圾回收kube-proxy: 运行在node,无状态组件,无垃圾收集需要kubelet:运行在node,无状态组件,需要管理宿主机的image和containerKubelet:会定期进行垃圾回收(Garbage Collection),以清理节点上的无用镜像和容器。
截止到 v1.15 版本,垃圾回收间隔时间还都是在源码中固化的,不可自定义配置,如果节点上已经运行了 Kubelet,不建议再额外运行其它的垃圾回收工具,因为这些工具可能错误地清理掉 Kubelet 认为本应保留的镜像或容器,从而可能造成不可预知的问题。
Grafana Tanka 是 Kubernetes 集群的配置工具,由 Jsonnet 数据模板语言实现。
使用它比使用 Yaml 来定义 Kubernetes 资源更简洁。Jsonnet 高度可重用,使你能通过组合现成的库来实现你的技术栈。
干净:使用 Jsonet 语言表示你的Kubernetes应用,比YAML更简洁。可重用:构建应用程序库,将它们导入任何地方,甚至在GitHub上共享它们!简洁:使用Kubernetes库,不再需要模板。变化:以轻松地知道确切的变化。生产环境Ready:Tanka 部署了 Grafana Cloud 和更多生产设置。开源:就像广受欢迎的 Grafana 和 Loki 项目一样,Tanka 是完全开源的。Docker 启动或者重启时报以上两个错误:
Error starting daemon: Devices cgroup isn't mounted
Error response from daemon: Cannot restart container rsnmp_v4: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:297: applying cgroup configuration for process caused \"mountpoint for devices not found\"": unknown
问题都是 cgroup 未挂载。可以通过下面脚本修复。
对于公有云上的 Kubernetes 集群,规模大了之后很容器碰到配额问题,需要提前在云平台上增大配额。这些需要增大的配额包括:
参考gce随着node节点的增加master节点的配置:
使用 Docker Volumes 时,有时需要挂载一个宿主机目录或者文件,提供数据可持续或者容器内部服务配置文件。
使用命令 docker run -it --rm -v /root/test.txt:/root/test.txt debian:10 bash 挂载文件(test.txt 默认权限 644)时,通过 vim 修改宿主 test.txt 文件,但是容器中 test.txt 没有修改。这是为什么?
Docker 中,mount volume 的原理是借用了 Linux Namespace 中的 Mount NameSpace,隔离系统中不同进程的挂载点视图,实际文件是没有变化。比如上面的例子,在container中,bash 实际就是一个运行在宿主机上的进程,被Docker用Linux分别隔离了 Mount Namespace、UTS Namespace、IPC Namespace、PID Namespace、Network Namespace和User Namespace,使得它看上去好像运行在了一个独立的、相对隔离的系统上,但实际它的一切资源都是宿主机在不同Namespace中的一个投影,文件也不例外。
为什么宿主机上修改 test.txt 文件,而容器中 test.txt 文件没有变化?
Linux中,证明文件是否相同的根本途径是,判断其 inode,如果两个文件的inode相同,两个文件必定为同一文件,从而两个文件的内容也必然相同。
还在为写 kubernetes yaml 烦恼吗?还在为记不住 kubernetes yaml 而心累吗?这些都没有关系,推荐一个kubernetes yaml 生成器,帮小伙伴们解决这些痛苦!

缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true