主要是docker的搭建,与安装时候该注意的事项,和安装的方法。
一、ConfigMapConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。和secret资源类似,不同之处在于,secret资源保存的是敏感信息,而configmap保存的是以明文方式存放的数据。Secret和ConfigMap相同点:都是用来保存一些信息数据的,可以被其他资源对象进行挂载使用。并且两个资源对象的创建方法及引用方法一样,都是以键值对的方法进行存
一、Secret资源对象:解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者PodSpec中。Secret可以以Volume或者环境变量的方式使用。用来保存一些敏感信息,比如数据库的用户名密码或者密钥。Secret有三种类型:1.ServiceAccount:用来访问KubernetesAPI,由Kubernetes自动创建,并且会自动挂载到Pod的/run/s
一:StatefulsetStatefulSet是为了解决有状态服务的问题,对应的Deployment和ReplicaSet是为了无状态服务而设计,其应用场景包括:1.稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现2.稳定的网络标志,即Pod重新调度后其PodName和HostName不变,基于HeadlessService(即没有ClusterIP的Servi
主要是做了一个,基于Nfs服务的PV,空间分配。和StorageClass自动创建PV.
注意yaml配置文件中的注言,与格式的缩进一、1.PersistentVolume,即PV,是集群中已由管理员配置的一段网络存储,相当于一个存储卷,一块存储盘。由管理员或者由StorageClass,存储类自动管理。2.PersistentVolumeClaim,即PVC,是用户存储的请求,相当于Pod,Pod消耗节点资源,而PVC消耗存储资源,通俗点说就是,pv是创建的总空间,pvc从总空间中申
在docker和K8S中都存在容器是有生命周期的,因此数据卷可以实现数据持久化。数据卷解决的主要问题:1.数据持久性:当我们写入数据时,文件都是暂时性的存在,当容器崩溃后,host就会将这个容器杀死,然后重新从镜像创建容器,数据就会丢失。2.数据共享:在同一个Pod中运行容器,会存在共享文件的需求。数据卷的类型:1.emptyDiremptyDir数据卷类似于docker数据持久化的dockerm
回滚升级:用命令行的方式创建:json创建pod控制器,deployment[root@master~]#kubectlrunweb--image=nginx--replicas=5查看控制器情况[root@master~]#kubectlgetdeployments.因网速还没下载完查看pod[root@master~]#kubectlgetpod//查看资源详细信息:[root@master~
Masternode(主节点)Linux:一切皆是文件K8s:一切皆是资源Kubectl:k8s是命令行端,用来发送用户的操做指令。Authorization(认证授权机制)API(编程接口)APIserver:(背)是k8s集群的(前端接口)。各种客户端工具以及k8s的其他组件可以通过它管理k8s集群的各种资源。他提供了HTTP/HTTPSRESTfulAPI即K8SAPI.Scheduler:
实验环境:主节点:192.168.1.10(master)Node1节点:192.168.1.20(node01)Node2节点:192.168.1.30(node02)环境准备:分别将3台虚拟机命名,设置好对应IP,并将其写入域名解析/etc/hosts中,关闭防火墙,iptables,禁用selinux。还有要做到,时间必须一致。全部禁用swap这里我们指定我们安装的k8s版本为1.15.0版
实验:1)整理docker实现服务发现的过程,及设计到的组件和组件的租用服务发现流程Docker》registrator》consul》consul-template》nginx总结:Consul:分布式,高可用,服务发现和配置服务的工具。数据中心。Registrator:负责收集dockerhost上,容器服务的信息,并且发送给consul。Consul-template:根据编辑好的模板。生产
注意:插件部署时的细节Prometheus(普罗米修斯)实验:部署prometheus服务,3台dockerhost,全部监控。要求结合grafana展示收集数据信息。实验环境:Docker01docker02docker03192.168.1.1192.168.1.20192.168.1.30NodeExporter:NodeExporter:NodeExporter:cAdvsorcAdvso
DockerswarmDockerswarm集群三剑客之一Dockerdocker2docker3192.168.1.1192.168.1.20192.168.1.30关闭防火墙,与selinux。3台dockerhost添加dns域名解析区别主机名。Bash或重启[root@docker~]#pingdocker2Ping域名是否可以通。(时间同步)Docker版本必须是:v1.12版本开始。实
转载:希望对彼此有帮助实验前准备://导入镜像1.[root@localhost~]#dockerload<nginx.tar&&dockerload<php.7.2-fpm.tar&&dockerload<mysql-5.7.tar//复制配置文件1.[root@localhost~]#dockerrun-itd--nametestnginx:l
docker-compose部署LNMP扩展,有兴趣可以看看
部署LNMP(容器之间需要相互通信的)自定义一个网络,是容器在同一网段。173.172.16.10.0/24Nginx:172.16.10.10Mysql:172.16.10.20Php:172.16.10.30网站的访问主目录:/wwwrootNgin的配置文件:/dockerNginx配置文件root@d036b61e074f:/etc/nginx/conf.d#pwd/etc/nginx/c
Docker数据持久化DataVolume:Bindmount:持久化存储:本质上是DockerHost文件系统中的目录或文件,能够直接被Mount容器的文件系统中,在运行容器时,可以通过-v实现特点:1、DataVolume是目录或文件,不能是没有格式化的磁盘(块设备)2、容器可以读写volume中的数据3、volume数据可以永久保存,即使使用它的容器已经被销毁测试的小实验运行一个nginx服
让外网能否访问容器的端口映射方法:1.手动指定端口映射关系两台虚拟机,第一台映射端口(第二台访问宿主机端口,就是访问容器端口curl192.168.1.1:90。)dockerrun-itd--nameweb1-p90:80nginx:latest2>从宿主机随机映射端口到容器,dockerrun-itd--nameweb2-p80nginx:latest3》从宿主机随机映射端口到容器,容器
docker的3个原生网络的特点即使用场景docker网络,原生网络:Dockernetwworkls1.None网络特点:PS:用到None网络的容器,会发现他只有一个Loopback回环的网络,没有Mac地址,IP等信息,意味着他不能跟外界通信,是被隔离起来的网络。使用场景:隔离,意味着安全,所以,此网络可以运行关于安全方面的验证码,效验码等服务。[root@docker~]#dockerne
Dockerfile常用命令(安全)1.》FROM:构建镜像基于那个镜像例如:FROMcentos:72》MAINTAINER:镜像维护者名字或邮箱地址例如:MAINTAINERadam3》RUN:构建镜像时运行的shell命令例如:RUN[“yum”,”install”,”httpd”]RUNyum-yinstallhttpd4>CMD:运行容器时执行的shell命令例如:CMD[“/bi
docker架构,镜像分层,缓存特性图示结构
docker的基本操作命令
Namespaces(名称空间)的六项隔离,与cgroup(控制组)资源限制。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号