docker && k8s && devops
文章平均质量分 72
一些与docker与devops的文章。
developer@liyong
GISer
展开
-
K8s-持久化(持久卷,卷申明,StorageClass,StatefulSet持久化)
通过POD指定Volume 的时候我们需要配置每个POD的主机路径,那如果我们后面需要修改主机的路径就会修改每个POD的yml。创建持久卷声明后, Kubernetes将根据请求和卷上设置的属性将持久卷绑定到声明。每个持久卷声明都绑定到一个持久卷。在绑定的过程中会根据是否有足够的容量,访问模式是否匹配,卷模式这些条件匹配到对应的持久卷。如果没有可用的卷,则永久卷声明将保持Pending挂起状态, 直到有更新的卷可供群集使用。一旦有更新的卷可用,声明将自动绑定到新的可用卷。1 先定义一个持久卷。原创 2024-01-25 14:33:07 · 1677 阅读 · 1 评论 -
Docker && K8s-存储相关概念
Docker中的存储有两个概念:存储驱动程序Storage Driver和卷驱动程序Volumes Drivers。原创 2024-01-25 10:30:19 · 813 阅读 · 0 评论 -
K8s-应用管理(环境变量,Job)
离线业务的特点是必定会退出,不会无期限地运行下去,所以它的调度策略与在线业务存在很大的不同,需要考虑运行超时、状态检查、失败重试、获取计算结果等管理事项。当有Pod文件时,管理存储在文件中的环境数据会很复杂。除了使用plain text键值对格式指定环境变量的直接方法,还有使用ConfigMap和Secrets等方法来管理环境变量更加的方便。pod文件使用command字段覆盖了入口点ENTRYPOINT指令,args字段覆盖了docker文件中的命令CMD指令。还可以通过数据卷的方式进行注入。原创 2024-01-24 16:10:13 · 649 阅读 · 0 评论 -
k8s-调度
并且保持Pod在线;2 在绑定对象中,用NodeName指定一个目标节点,然后向pod的绑定API发送一个POST请求,将数据以JSON格式设置到绑定对象中(必须将YAML文件转换为等效的JSON形式)。NoExecute的时候会发现所有的节点都被挂起了,这里myapp-deployment没有被驱逐使用为这个myapp-deployment是Deployment,它要保证有三个节点,两个策略产生了冲突,所以最终被挂起。创建pod后,Kubernetes调度程序会尝试将这些pod放置在可用的工作节点上。原创 2024-01-24 13:50:01 · 1088 阅读 · 0 评论 -
k8s-基础知识(Service,NodePort,CusterIP,无头服务,NameSpace,资源限制)
如果要连接另一个名字空间的服务,必须将名称空间的名称附加到服务的名称上。例如,对于默认名称空间中的web pod,要连接到dev环境或名称空间中的数据库,使用servicename.namespace.svc.cluster.local格式:dbservice.dev.svc.cluster.local。Kubernetes 会给Service分配一个静态 IP 地址,Service自动管理、维护后面动态变化的 Pod 集合,当客户端访问 Service,它就根据某种策略,把流量转发给后面的某个 Pod。原创 2024-01-23 19:35:49 · 1167 阅读 · 0 评论 -
k8s-基础知识(Pod,Deployment,ReplicaSet)
那么比如我们一个节点所在的宿主机的资源耗尽了,这个时候控制器可以调度在集群的其它机器上再创建一个节点,始终保持这个服务有三个节点来提供服务。可以看到和前面的yml非常的类似,只是这次我们在spec定义了一个模板,这个模板就是比如我们一个节点挂掉了,这个时候控制器可以用这个模板来创建副本。根据创建的内容,必须使用正确的API版本,不同版本号支持的功能可能不太一样。kind:资源类型,类型指的是创建的对象的类型,其他可能的值 Pod, Service, ReplicaSet, Deployment.原创 2024-01-23 14:01:24 · 1332 阅读 · 0 评论 -
Docker-registry
Docker Hub是最大、使用最广泛的docker容器注册托管中心。我们可以利用docker自己搭建私有registry。一般私有registry不像docker hub功能齐全,而是只提供了基础功能,比较适合小团队。转载 2024-01-17 14:53:29 · 72 阅读 · 0 评论 -
Docker-compose && swarm && Docker secret
服务:在swarm上部署部署的时候管理节点以服务为状态单位,它会将集群节点上的服务调度为一个或多个任务分发给工作节点。工作节点会去启动一个容器,填充这些任务,并且检查容器的健康状态,如果容器的状态是成功的会返回给调度器。Swarm基于Docker运行时,一个swarm由多个节点组成,每个节点是在swarm模式下运行Docker Engine的物理机或虚拟机。管理节点:维护集群状态,调度服务,响应swarm模式HTTP API 端点.管理节点通过Raft算法实现维护整个swarm所有服务的一致内部状态。原创 2024-01-17 14:47:09 · 1478 阅读 · 0 评论 -
Docker-安装实践(mysql,redis集群,tomcat)
下面可以测试一下(比较简单这里不再演示),停掉一个实例,slave就会上位变成master,保证集群照样可用,后面恢复后也不会复原master的地位变成了slave。然后连接客户端查看相关信息,需要注意我们要指定端口因为我们启动的时候已经指定了端口 redis-cli -p 6381。下面注意了我们存储key的时候就需要连接集群了,如果单机只有一部分槽位那能存,如果集群就会自动跳过去。配置修改后可以,用下面的命令查看字符集,可以在容器内部用客户端连接也可以用连接工具。查看从数据库的同步状态。原创 2024-01-20 14:45:33 · 939 阅读 · 0 评论 -
Docker-数据卷&&网络
自定义网络是经某些服务集中,可以通过服务名相互访问。如果不用服务名需要写死容器IP,但是容器IP可能会变化,这样可能导致某些服务访问不到。案例实操#创建自定义网络 docker network create custom_network在同一个网络下启动容器,这样这个容器就能够通过服务名互通#将我们的应用连接到某一个网络docker network connect custom_networkwebhost #网络名 应用名#取消连接网络。原创 2024-01-16 14:33:45 · 639 阅读 · 0 评论 -
Docker-Dockerfile
【代码】Docker-Dockerfile。原创 2024-01-16 14:32:35 · 574 阅读 · 0 评论 -
Docker-基础指令
4 Job的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理驱动Graph driver将下载镜像以Graph的形式存。2 Docker Daemon作为Docker架构中的主体部分,首先提供Docker Server的功能使其可以接受Docker Client的请求。-t参数会启动终端的一些功能。3 Docker Engine执行Docker内部的一系列工作,每-项工作都是以一个Job的形式的存在。docker 的基本组成 :镜像,容器,仓库。原创 2024-01-16 14:30:30 · 744 阅读 · 0 评论 -
Jenkins-自动化
Gitlab默认使用了hashed storage,可以在 Main menu > Admin > Overview > Projects下。可以定义 pre-receive, post-receive, update 等多种。中写入,刚刚crumbIssuer的方式。使用Cron表达式指定执行时间。然后区对应的路,创建钩子文件。安装插件以后我们获取。原创 2024-01-15 08:11:01 · 983 阅读 · 0 评论 -
Jenkins-Pipeline
上面的例子是为了方便演示,这里也提供一个生产环境中会使用的真正的pipeline,是一个脱敏后的demo, 然后我们还可加一些代码检查机制在构建步骤里面,但是BlueOcean暂时还不成熟,原有的Jenkins classic UI依然保留。除了在Jenkins项目配置中写入Pipeline DSL, 还可以通过BlueOcean UI设置流水线项目。这个其实就是,将Pipe的脚本采用UI的界面来配置,这里演示了,感兴趣的可以去试试,我还是喜欢直接写脚本。Dashboard左侧出现。原创 2024-01-15 11:08:10 · 722 阅读 · 0 评论 -
Jenkins-执行脚本案例-初步认识JenKins的使用
Jenkins-执行脚本案例-初步认识JenKins的使用。原创 2024-01-14 12:12:58 · 642 阅读 · 0 评论 -
Jenkins-Maven && Git
我们可以在这个目录下看到Jenkins 帮我们拉取了代码。原创 2024-01-14 16:21:55 · 545 阅读 · 0 评论 -
Jenkins-用户管理
5 根据需要赋值角色的权限,并分配给用户。2 选择安全策略为刚刚安装的插件。3 这个是安装插件以后会有的选项。原创 2024-01-14 17:21:34 · 368 阅读 · 0 评论