![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
K8s & Docker容器化技术
文章平均质量分 73
docker、k8s、openshift等容器化技术
Andya_net
公众号:CodingTechWork
觉得为时已晚的时候,恰恰是最早的时候。
展开
-
云计算 | 什么是云计算?
云计算是通过互联网按需访问计算资源,包括应用程序、服务器(物理服务器和虚拟服务器)、数据存储、开发工具、网络功能等。这些资源托管在由云服务提供商(简写为 CSP)管理的远程数据中心。CSP 按月收取订阅费或根据使用情况对这些资源收费。云计算也表示相关技术,如某种形式的虚拟化 IT 基础架构,包括服务器、操作系统软件、网络和其他基础架构,这些基础架构使用特殊软件进行了抽象化,因此可以不受物理硬件边界的限制,对其进行池化和分割。原创 2024-04-05 09:50:21 · 1253 阅读 · 0 评论 -
RocketMQ——Mac电脑OS系统docker安装Dashboard
RocketMQ安装Dashboard进行界面化管理原创 2022-11-19 14:21:17 · 824 阅读 · 0 评论 -
Docker—苹果Mac安装Docker的两种方式
苹果os系统安装docker方法原创 2022-11-19 12:30:38 · 16964 阅读 · 3 评论 -
kubernetes——pod和docker容器的关系
关注微信公众号:CodingTechWork,一起学习进步。引言 在做k8s或者docker相关工作时,有没有一个疑问,什么是docker容器?什么是pod?容器和pod又有什么关系?容器docker包括三个概念:镜像(image),容器(container)、仓库(repository)容器就是镜像运行时的实体,镜像和容器的关系类比与Java面向对象程序设计中的类和实例是一样的概念。每个容器的文件系统与其他容器是隔离的。容器可以被创建、启动、停止、删除以及暂停等。容器的实质是进程,运.原创 2021-12-02 17:13:19 · 6227 阅读 · 0 评论 -
Docker—Dockerfile详解及微服务制作运行容器镜像步骤命令总结
关注微信公众号:CodingTechWork,一起学习进步。引言 上云、k8s部署,不可避免需要使用容器化,面对容器化,不可避免使用Docker,对于Docker不得不提镜像的制作。本文主要学习和总结Dockerfile声明详解及常用的docker命令。Dockerfile文件概述 Dockerfile是一个用于自定义构建镜像的文本文件,其中包含了多条构建镜像所需要的指令、软件依赖和说明。指令详解FROM 指定基础镜像格式: FROM <image> FROM &l.原创 2021-05-13 18:06:44 · 1069 阅读 · 0 评论 -
Linux——k8s命令别名修改
关注微信公众号:CodingTechWork,一起学习进步。引言 在实际操作linux系统时,如k8s集群,一些命令较长,使用不方便,可以通过linux一些系统文件进行别名配置,便于使用。配置配置bashrc文件[root@k8s ~]# cat >> ~/.bashrc << EOFalias ku='kubectl'alias kg='kubectl get'alias kd='kubectl describe'alias kgd='kubectl get .原创 2021-05-12 19:29:26 · 538 阅读 · 1 评论 -
k8s—centos7安装部署NFS服务器和客户端及基于nfs的动态存储storageclass使用总结
关注微信公众号:CodingTechWork,一起学习进步。NFS介绍概述 网络文件系统(Network File System, NFS),是基于内核的文件系统,nfs主要是通过网络实现服务器和客户端之间的数据传输,采用远程过程调用RPC(Romete Procedure Call)机制,让不同的机器节点共享文件目录。只需将nfs服务器共享的文件目录挂载到nfs客户端,这样客户端就可以对远程服务器上的文件进行读写操作。 一个NFS服务器可以对应多个nfs客户端,基于RPC机制,用户可以像访问本.原创 2021-05-12 15:55:18 · 581 阅读 · 3 评论 -
Kubernetes—StatefulSet部署有状态应用详解(二十四)
关注微信公众号:CodingTechWork,一起学习进步。引言 我们都知道在k8s集群中,Deployment是用来部署无状态的服务,那有状态的服务是用什么资源对象来部署呢?无状态和有状态服务部署的区别是什么?有状态的pod肯定需要独立的存储卷,这样才能保证故障后寻找数据就地恢复原状态,那如何实现多个pod拥有自己独立存储卷?下面我们来看看如何演进方案。演进手动创建多个pod 手动创建多个pod,每个pod使用一个独立的持久卷声明,但是需要我们手动管理这些pod,当发生故障后,需要重新手动.原创 2020-07-25 23:06:34 · 1082 阅读 · 0 评论 -
Kubernetes—如何批量删除对象资源?(二十三)
关注微信公众号:CodingTechWork,一起学习进步。引言 在使用k8s和openshift时,启动某个中间件,由于中间件内组件较多,在删除资源的时候遇到头疼的时间,得一个一个去删,特此研究了一下如何批量删除这个中间件的资源。批量删除思路 既然是批量删除资源,我们肯定需要找到这些资源的相同点,比如我们在数据库里面批量删除,一般要么选范围,要么根据模糊查询删除。同样的,k8s这些资源是否有共同点或者有范围? 其实,同一个中间件下面的资源,我们是可以找到他们的一些共同点,如label,原创 2020-07-24 10:34:25 · 849 阅读 · 0 评论 -
Kubernetes-标签和注解(二十二)
1 标签1.1 为什么要有标签? 在微服务架构中,部署的微服务数量很容器达到几十个,这些组件可能是副本(部署同一组件的多个副本)和多个不同的发布版本(stable、beta、canary等)同时运行。导致K8S系统中会出现多个pod,如果没有机制去组织这些组件,极容易产生混乱。需要一种能够基于任意标准将上述pod组织成更小群体的方式,这个时候就产生了标签,标签可以组织pod和其他K8S对象。...原创 2020-03-17 09:17:29 · 911 阅读 · 0 评论 -
Kubernetes—配置管理ConfigMap(十三)
1 ConfigMap介绍1.1 概述 在部署应用程序时,我们都会涉及到应用的配置,在容器中,如Docker容器中,如果将配置文件打入容器镜像,这种行为等同于写死配置,每次修改完配置,镜像就得重新构建。当然,我们也可以通过挂载包含该文件的卷进行配置管理和修改。而在k8s中,我们要讲一种更好的方式,即ConfigMap,这种资源对象的出现,更是极大的方便了应用程序的配置管理。 Config...原创 2020-03-13 23:50:37 · 422 阅读 · 0 评论 -
Kubernetes—动态存储卷配置(StorageClass资源)(十二)
StorageClass的介绍 StorageClass是对存储资源的一个抽象定义。与静态模式的存储卷配置(就是集群管理员手动去创建持久卷PV),StorageClass是一种动态模式的存储卷配置。StorageClass资源同PV一样,也不是命名空间级别的,是集群级别的。 StorageClass资源使得集权管理员解放双手,无需多次手动创建持久卷PV,集群管理员只需要创建不同类别的存储类...原创 2020-03-08 21:33:41 · 986 阅读 · 0 评论 -
Kubernetes-PersistentVolumeClaim(PVC)介绍(九)
1 PVC介绍 PVC是用户层面,作为对存储资源的需求申请,主要包括了存储空间大小、访问模式、PV的选择条件、存储类别等信息的设置。2 PVC的参数详解2.1 PVC的yaml模板apiVersion: v1kind: PersistentVolumeClaimmetadata: name: test-pvc1spec: accessModes: - ReadWr...原创 2020-03-08 17:58:50 · 1064 阅读 · 0 评论 -
Kubernetes-命名空间token(十五)
1 查看所有账号$ kubectl -n kube-system get sa2 取secrets以default账号为例$ kubectl -n kube-system get sa default -o yaml3 查token$ kubetcl get secrets default-token-rqfc5 -n kube-system -oyaml取具体的token值...原创 2020-03-07 15:36:08 · 385 阅读 · 0 评论 -
Kubernetes-命名空间namespace(ns)(十四)
命名空间介绍 K8s命名空间就是为对象名称提供一个作用域,此时不会将所有资源都放在同一个命名空间,而是将资源组织到多个命名空间中,这样可以多次使用相同的资源名称。 避免冲突,命名空间为资源名称提供一个作用域:它能够将不属于一组的资源分到不重叠的组中,如果有多个用户或者用户组使用同一个K8s集群,且都各自管理靠自己独特的资源集合,则应该分别使用各自的命名空间,各玩各的,可以避免修改或删除其他...原创 2020-03-07 15:34:06 · 484 阅读 · 0 评论 -
Kubernetes-存活探针(liveness probe)(十六)
1 介绍1.1 概念 存活探针(liveness probe):检查容器是否还在运行,可以为pod中的每个容器单独指定存活探针。如果探测失败了,K8S将定期执行探针并重新启动容器。1.2 3种探测容器的机制:1)HTTP GET探针对容器的IP地址(指定端口和路径)执行HTTP GET请求;探测器收到响应(2xx或3xx),则探测成功。2)TCP套件字探针尝试与容器指定端口建立TCP连...原创 2020-03-07 15:28:43 · 515 阅读 · 0 评论 -
Kubernetes-ReplicationController(RC)(四)
1 介绍1.1 概念 ReplicationController(副本控制器)是一种k8s资源,确保它的pod始终保持运行状态。它是用于复制和在异常情况下重新调度节点的k8s组件。1.2 优点1)RC可以确保一个pod(或多个pod副本)持续运行,在现有pod丢失时可以启动新的pod;2)集群节点发生故障时,RC为其上面的pod(受RC控制的节点上的pod)创建替代副本;3)轻松实现...原创 2020-03-07 15:24:22 · 261 阅读 · 0 评论 -
Kubernetes-ReplicaSet(RS)(五)
1 介绍1.1 概念 ReplicaSet是新一代的ReplicationController,可以完全代替RC,但是一般不会直接创建RS,而是通过创建Deployment这种资源,从而自动创建RS。1.2 RS与RC比较1)RC的标签选择器只允许包含某个标签的匹配pod,但RS的选择器还允许匹配缺少某个标签的pod,或包含特定标签名的pod。2)RS相比较于RC更具表达力的标签选择器...原创 2020-03-07 15:22:07 · 349 阅读 · 0 评论 -
Kubernetes-DaemonSet(六)
1 介绍 DaemonSet确保创建足够的pod,并在自己的节点上部署每个pod,确保一个pod匹配它的选择器并在每个节点上运行。要在所有集群节点上运行一个pod,就需要创建这样一个DaemonSet对象。 若节点下线,DaemonSet不会在其他地方重建pod;若一个新节点添加到集群中,DaemonSet会立刻部署一个新的pod实例;若无意中删除一个pod,则会从配置的pod模板创建一个...原创 2020-03-07 15:19:19 · 230 阅读 · 0 评论 -
Kubernetes-Pod(三)
1 pod介绍 一个pod是一组紧密相关的容器,是一起运行在同一个工作节点上,以及同一个Linux命名空间中。每个pod就像是一个独立的逻辑机器,拥有自己的IP、主机名、进程等,运行一个独立的应用程序。 pod是逻辑主机,一个pod的所有容器都运行在同一个逻辑机器上,其他pod中的容器,即使运行在同一个工作节点上,也会出现在不同的节点上。即一个pod包含多个容器时,这些容器总是运行在同一个...原创 2020-03-07 15:12:25 · 621 阅读 · 0 评论 -
Docker-构建/启停容器镜像及常用命令介绍
1 Dockerfile 将应用打包成镜像前,需要先创建一个Dockerfile的文件,其包含了一系列构建镜像时会执行的指令。2 构建容器镜像构建镜像命令:$ docker build -t image_name .其中,image_name是镜像名称;构建镜像过程1)Docker客户端将整个目录文件(包括Dockerfile)上传到Docker守护进程并运行;2)在构建过程中,...原创 2020-03-07 15:07:22 · 333 阅读 · 1 评论 -
Kubernetes-基本介绍/核心功能/相关术语(一)
1 Kubernetes介绍单词:Kubernetes这个单词起源于希腊语,意为舵手或领航员,K8S即为缩写,其中8代表了“ubernete“这8个字符。来源:K8S前身是Google的Borg系统,2014年6月开源,2015年7月 K8S v1.0正式发布;1.1 概念 Kubernetes(K8S)是一个软件系统,允许用户在其系统上部署和管理容器化的应用。 Kubernetes...原创 2020-03-07 15:01:02 · 453 阅读 · 0 评论 -
Docker-基本概念(镜像和容器)
1 Docker介绍 Docker是一个打包、分发和运行应用程序的平台;允许将你的应用程序和应用程序所依赖的整个环境打包在一起。 Docker有一个局限性是:每个虚拟机读运行自己的内核,而一个机器上的所有容器是运行同一个内核。2 三个主要概念 镜像——Docker镜像里包含了你打包的应用程序及其所依赖的环境。包含应用程序可用的文件系统和其他元数据,如镜像运行时的可执行文件路径。 ...原创 2020-03-07 14:58:21 · 553 阅读 · 0 评论 -
Kubernetes-服务连接和暴露(endpoints)(二十)
1 endpoint1.1 endpoint介绍 服务和pod不是直接连接,而是通过Endpoint资源进行连通。endpoint资源是暴露一个服务的ip地址和port的列表。 选择器用于构建ip和port列表,然后存储在endpoint资源中。当客户端连接到服务时,服务代理选择这些列表中的ip和port对中的一个,并将传入连接重定向到在该位置监听的服务器。 endpoint是一个单...原创 2020-03-07 14:52:31 · 4664 阅读 · 0 评论 -
Kubernetes-NodePort(十七)
1 NodePort介绍1.1 概念 将创建的服务类型设置为NodePort,通过创建NodePort服务,让K8S在其他所有节点上保留一个端口(所有节点上都使用相同的端口号),并将传入的连接转发给作为服务部分的pod。2 NodePort使用2.1 创建by k8s in actions$ kubectl create -f xxx.yml2.2 查看查看NodePort...原创 2020-03-07 14:42:26 · 288 阅读 · 0 评论 -
Kubernetes-负载均衡器Load Balancer(十八)
1 介绍 负载均衡器Load Balancer服务是NodePort服务的扩展,负载均衡器拥有独立的可公开访问的IP地址,并将所有连接都重定向到服务,外部客户端可以通过负载均衡器的IP地址访问到集群内部的服务。2 使用2.1 创建将spec.type设置为LoadBalancer,则该服务即为负载均衡器服务。by k8s in action执行创建命令$ kubectl cr...原创 2020-03-07 14:38:26 · 953 阅读 · 0 评论 -
Kubernetes-Ingress(十九)
1 介绍1.1 概念 Ingress意为进入或进入的行为;进入的权利;进入的手段或地点;入口。 Ingress支持L7(网络第七层,HTTP/HTTPS)负载均衡。1.2 Ingress的需求 每个LoadBalancer服务都需要自己的负载均衡器,以及独有的公有IP地址,而Ingress只需要一个公网IP就能为许多服务提供访问,当客户端向Ingress发送HTTP请求时,Ingr...原创 2020-03-07 14:34:50 · 189 阅读 · 0 评论 -
Kubernetes-PersistentVolume(PV)介绍(八)
PV介绍 PV是对底层网络共享存储的一个抽象,PV由管理员创建和配置。PV是抽象出来的存储资源,包括存储能力、存储类型、访问模式、回收策略、后端存储类型等设置。PV的参数详解PV的yaml模板apiVersion: v1kind: PersistentVolumemetadata: name: test-pv1spec: capacity: storage: ...原创 2020-03-07 13:52:09 · 314 阅读 · 0 评论 -
Kubernetes-卷/存储卷(emptyDir/hostPath/pv/pvc)(十)
1 卷的介绍1.1 卷的概念 在搞容器的时候,我们在处理完应用如何起,如何运行,最终落实到数据的时候,我们又要考虑2个问题:容器是如何访问外部磁盘存储的?容器之间如何共享存储空间?在一些场景下,我们经常希望新起的容器可以在之前容器over的那个卡点处继续运行下去。 怎么做?怎么能解决上面的问题?这个时候k8s中的卷,也就是存储卷应运而生。卷不是独立的k8s对象,它是pod的一部分,和po...原创 2020-03-04 22:50:50 · 318 阅读 · 0 评论 -
Kubernetes-Pod/ReplicaSet/Deployment/Service关系(二十一)
资源之间的关系1)Pod是最小的调度单元,Pod启停容器镜像等;2)Pod由ReplicaSet控制,ReplicaSet由Deployment控制,然后外部提供服务的是Service。RS—>Pod查看Pod:$ kubectl get pods查看RS:$ kubectl get rs查看Pod详情:$ kubectl describe pods pod_nam...原创 2020-03-06 12:01:58 · 360 阅读 · 0 评论 -
kubernetes-Deployment部署无状态服务的原理详解(七)
1 Deployment介绍1.1 相关术语Pod:每个Pod是一个或一组紧密相关的容器,每个Pod就像是一个独立的逻辑机器,拥有自己的IP、主机名、进程等,运行一个独立的应用程序,是K8S调度的基本单位。ReplicationController:简称RC,旨在创建和管理一个Pod的多个副本(replicas)。当Pod副本数少于指定数目,RC就会启动运行新的Pod副本;多于指定数目,RC...原创 2020-03-04 20:54:59 · 1535 阅读 · 0 评论 -
Kubernetes-Service服务(十一)
1 介绍1.1 概念 Service,是K8S服务,它是一种为一组pod(功能相同)提供固定接入点的资源(ip地址和端口暴露不变)。客户端可以通过ip地址和端口号建立连接,这些连接可以路由到该服务的任意一个pod上,这样,客户端就不需要了解这些pod的具体地址,当然,这也有利于pod在集群中可以被随时创建或者移除。2 使用2.1 创建服务1)通过kubectl expose创建$ k...原创 2020-03-04 20:52:34 · 278 阅读 · 0 评论 -
Kubernetes—常用命令总结(二)
continue to update … …1 操作资源1.1 创建资源$ kubectl create -f xxx.yaml或者cat xxx.yaml | kubectl create -f -其中,-f后面跟yaml文件或者json文件;1.2 查看资源查看资源名称$ kubectl get [all | deployment | service | pvc | conf...原创 2020-03-03 22:06:51 · 222 阅读 · 0 评论 -
虚拟化向容器化跨越
0 容器的趋势所向 IT企业的软件开发模型由传统的客户端/服务端模型,变成浏览器/服务器模型;由物理机变成虚拟机,再变成IaaS(基础架构云)和PaaS(应用云)。通过近些年的云化,很多企业实现了基础架构资源(虚拟机、网络、存储和数据库等资源)的云化和池化,用户可以通过云化讯处的获取业务应用所需的机器、数据库以及数据存储。当上层业务和下层基础架构资源完备后,中间的一个连接就应运而生——容器化,...原创 2020-03-03 21:10:04 · 362 阅读 · 0 评论 -
OpenShift-介绍
OpenShift介绍 OpenShift是红帽Red Hat公司基于开源的云平台,是平台即服务(PaaS),是一种容器应用平台。允许开发人员构建、测试和部署云应用。该系统是在K8s核心之上添加工具,从而实现更快的应用开发、部署及扩展。OpenShift支持的语言Go,Node.js,Ruby,Python,Java,PHP,Perl。OpenShift功能1)安全性:对于应用程序而言...原创 2020-03-03 15:34:33 · 1201 阅读 · 0 评论