宋祖儿在哪个网站做网红,绵阳医院网站建设,北京学电脑的培训机构,求一个做健身餐的网站1. containerd
它不用于直接和开发人员互动#xff0c;在这方面不和docker竞争 containerd的用时最短#xff0c;性能最好。 containerd 是容器的生命周期管理#xff0c;容器的网络管理等等#xff0c;真正让容器运行需要runC containerd 是一个独立的容器运行时在这方面不和docker竞争 containerd的用时最短性能最好。 containerd 是容器的生命周期管理容器的网络管理等等真正让容器运行需要runC containerd 是一个独立的容器运行时专注于容器的生命周期管理包括镜像管理、容器执行和监督。containerd 是 Docker 的底层组件之一但也可以独立使用。 docker-shim 是 Docker 的一个内部组件主要用于 Docker 作为 Kubernetes 容器运行时接口CRI时的适配层。docker-shim 是 Kubernetes 为支持 Docker 而实现的适配层将逐渐被弃用推荐使用直接支持 CRI 的运行时如 containerd。 docker-cli 通过 Docker API 与 Docker 守护进程通信而 Docker 守护进程再调用 containerd 来执行具体的容器操作。
使用ctr 操纵 容器
Docker 在 /var/lib/docker 目录下管理和存储镜像。 Docker Daemon 处理所有的镜像操作例如拉取、推送、删除等通过 Docker CLIdocker 命令进行管理。
containerd 在 /var/lib/containerd 目录下管理和存储镜像。 containerd 提供自己的 CLI 工具 ctr 来管理镜像。
ctr images ls
ctr images pull docker.m.daocloud.io/library/nginx:alpineDocker 的本地镜像存储和 containerd 的本地镜像存储是独立的不共享数据。 使用 docker pull 拉取的镜像存储在 Docker 的存储目录中供 Docker 使用。/var/lib/docker 使用 ctr pull 或 crictl pull 拉取的镜像存储在 containerd 的存储目录中供 containerd 使用。/var/lib/containerd ctr 是一个低级别的工具直接与 containerd 交互提供了详细的控制和调试功能适合高级用户和开发者。 crictl 是一个高层次的工具基于 CRI 标准主要用于 Kubernetes 环境通过统一的命令集管理不同的容器运行时适合系统管理员和 Kubernetes 用户。 create还得两步不如一步 ctr run直接静态容器创建并且变成动态容器 ctr 对接 harbor
修改 /etc/containerd/config.toml文件 加入私有地址
namespace
不同的namespace即使容器名相同也不要紧。 可以运行容器指定namespace 其他namespace的镜像用不了必须自己的namespace 里有
containerd Network 创建CNI 网络即容器网络 github获取安装它俩。在github搜索—打开右边的release然后复制网络连接在服务器上wget 网络链接 现在宿主机上创建网桥。然后所有的容器都可以通过这个网桥与外界通信为容器配置网络功能 用插件就这样给它加上网络功能了进到容器里它就多了一个网卡
持久化存储
容器可以挂载到宿主机目录
containerd 的缺陷
它不能bulidcommit等等。 docker帮助实现容器管理
2. 日志
ELK 集群部署 https://www.elastic.co/cn/elasticsearch 收集 k8s 节点系统日志需要 filebeat. Filebeat 在ELK堆栈中负责收集和转发日志数据 需要收集那个节点的日志就在哪安装 filebeat 收集节点应用程序日志就是物理机运行的程序 收集机器上这两处日志(注意上图划线这里的路径是容器里的路径是挂载的物理机相同的路径) 给logstash Filebeat - Logstash - Elasticsearch。Filebeat 收集日志并发送到 LogstashLogstash 处理数据后发送到 Elasticsearch 进行存储和索引。 Logstash 提供了强大的过滤插件允许用户对数据进行复杂的处理和转换包括 解析从原始数据中提取有用的信息例如解析 JSON、CSV、XML 等格式的数据。 转换修改数据内容例如添加或删除字段格式化时间戳等。 增强通过查找、计算等方式添加更多有用的信息例如通过地理IP数据库添加地理位置信息。 清洗去除无用的数据过滤掉不需要的日志条目。 下面是logstash 配置文件 4. 收集pod日志 一个pod多个容器filebeat作为边车容器从共享存储两容器都挂一个目录中取走工作容器的日志
EFK ELK部署需要单独主机但是EFK可以部署到 k8s 内
logstash是java开发的 缓存和高可用有啥不懂的
3. 监控
通过helm部署 Prometheus
metallb-system 用来提供负载均衡服务ingress-nginx 用来从外部对Prometheus和 grafana的管理helm安装到物理机helm install prometheus 到 k8s此时 grafana 也一块装好了对 k8s 做了哪些监控通过 Prometheus 网站查看。grafana数据展示ingress的用处向外面暴露 Prometheus和 grafana的域名。 通过在笔记本上配置host用上面这个ip 同一ip 对应两个域名就是 ingress-nginx反向代理的作用
监控redisredis也是通过helm部署 先要部署 redis-exporter也就是探针。然后创建svc通过标签与 探针发生联系
创建一个ServiceMonitor被 Prometheus 发现自动对 ServiceMonitor的 svc 监控里面有redis相关的数据记录
监控mysql
yaml 文件部署mysql 部署 mysql exporter