容器技术 大数据技术 Ceph使用介绍

2022-08-11 23:09:00
admin
原创 3440
摘要:容器技术 大数据技术 Ceph使用介绍

一、容器技术

1、POD架构的虚拟机将存储和计算分离,支持虚拟机热迁移,在不停机的情况下进行服务器维修;

2、Docker是容器引擎,Containerd是容器运行时,Docker使用Containerd;

3、Container Networking Interface,CNI提供容器插件化的网络解决方案;

4、Kubernetes,K8S容器集群管理系统,新版本弃用Docker,使用Containerd;

5、Service支持4层路由,绑定多个Pod,Ingress支持7层路由,绑定多个Service;


底层机制:

1、使用cgroup限制资源,/proc/1/cgroup第三列非空且非根目录,目标机器是容器;

2、使用pid namespace给容器里面的进程多分配一个pid,跟宿主机看到的pid不一样;

3、控制线程能力:默认给容器内root砍掉绝大多数危险的linux capabilities,只保留一小部分;

4、控制线程能力:Effective、Permitted、Inheritable、Bounding、Ambient,P、I、A 全部 ⊆ B

5、控制线程能力:E ⊆ P,删除P的元素自动清理E的元素,A ⊆ P ∩ I,删除P和I的元素自动清理A的元素;

6、控制系统调用:seccomp是系统调用的过滤器,控制一个进程可以调用哪些系统调用,以及调用的参数规则;

07、挂载隔离:使用mnt namespace创建容器的挂载树,跟宿主机的挂载树隔离,防止容器篡改宿主机的挂载;

08、挂载隔离:LowerDir只读层,位于镜像层的哈希目录/diff,UpperDir读写层,位于容器层的哈希目录/diff

09、挂载隔离:MergedDir只读层和读写层生成的视图,位于容器层的哈希目录/mergerd

10、挂载隔离:WorkDir内核工作目录,位于容器层的哈希目录/work


容器配置:

1、dockerfile帮助:https://docs.docker.com/reference/dockerfile

2、docker命令帮助:https://docs.docker.com/reference/cli/docker

3、docker配置文件:https://docs.docker.com/engine/daemon/#configuration-file

4、docker安装软件:https://repo.huaweicloud.com/docker-ce/linux/centos/8/x86_64/stable/Packages

5、docker安装顺序:docker-ce-cli → containerd.io → docker-ce → buildx → compose

6、docker启停命令:systemctl start | stop | restart | status docker

7、docker停止命令:systemctl stop docker,systemctl stop docker.socket

8、cli执行权限:usermod -aG docker feinenxiang

9、构建脚本:build.sh,Dockerfile


允许http:

vim /etc/docker/daemon.json
{
  "insecure-registries": ["uat.sf.dockerhub.domain"]
}


常用命令:

1、查看配置:docker info | grep "Docker Root Dir"
2、查看配置:docker info | grep -A3 "Insecure Registries"
3、查看磁盘占用:docker system df
4、列出本地镜像:docker image ls

5、列出运行容器:docker ps

6、查看容器信息:docker inspect docker-name
7、查看容器信息:docker inspect --format '{{.Config.Labels}}' docker-name
8、查看容器信息:docker inspect --format '{{.NetworkSettings.IPAddress}}' docker-name

9、容器端口映射:docker run -d -p 8080:8888 --name docker-name image-name

10、登录进入容器:docker exec -it docker-name bash


二、安装multica-selfhost

1、安装docker:https://docs.docker.com/desktop/setup/install/windows-install

2、安装multica:https://multica.ai/docs/zh/self-host-quickstart

3、代码仓库:https://github.com/multica-ai/multica

4、镜像仓库:https://hub.docker.com


下载镜像:

1、git clone https://github.com/multica-ai/multica.git --branch v0.8.2 --depth 1

2、docker compose -f docker-compose.selfhost.yml pull

3、docker pull ghcr.io/multica-ai/multica-backend:latest
4、docker pull ghcr.io/multica-ai/multica-web:latest
5、docker pull pgvector/pgvector:pg17


启动容器:

1、docker compose -f docker-compose.selfhost.yml up -d --pull never
2、docker compose -f docker-compose.selfhost.yml ps


三、大数据技术

1、ELK是一个复杂的日志聚合系统,需对全文进行索引,加载数据到内存查询,查询操作非常丰富;

2、Loki是一个轻量的日志聚合系统,只对标签进行索引,分布式进行查询聚合,存储查询效率很高;

3、Spark是一个大数据的计算引擎,强调计算,使用内存计算,支持操作比较丰富;

4、Trino是一个大数据的查询引擎,强调查询,使用内存计算,查询效率比较高;


HDFS文件存储格式:

1、TEXTFILE,文本格式,可以分割和并行处理,支持压缩,但压缩后不支持并行处理;

2、RCFILE,Record Columnar File,首先将表分为几个行组,然后每个行组的数据进行按列存储;

3、ORC,Optimized Row Columnar,RCFILE格式的一种优化格式,提供了更大的默认块256M;

4、ZLIB比SNAPPY压缩比高,SNAPPY比ZLIB处理速度快,推荐使用SNAPPY;


四、Ceph使用介绍

Ceph是具备优秀的性能、可靠性、可扩展性的分布式文件系统,三种使用模式:

1、Ceph Block Device做为一个块设备来使用,即磁盘;

2、Ceph Filesystem做为一个文件系统来使用,即分区;
3、Ceph Object Gateway做为文件对象网关来使用;

4、通常使用文件系统或文件对象模式,文件对象有更多权限控制;

发表评论
评论通过审核之后才会显示。