Kubernetes概述
Kubernetes是谷歌开源的一个容器编排引擎,它支持自动化部署,大规模可伸缩,应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理,发现,访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理
美丽的资源有,豆荚,服务,体积,名称空间,ReplicaSet,部署,StatefulSet, DaemonSet,工作等等
基于配置文件的方式:
- <李> <强>配置文件描述了<代码> 代码>,即应用最终要达到的状态。强> 李> <李> <强>配置文件提供了创建资源的模板,能够重复部署。强> 李> <李> <强>可以像管理代码一样管理部署。强> 李> <李> <>强适合正式的,跨环境的,规模化部署。强> 李> <李> <强>这种方式要求熟悉配置文件的语法,有一定难度。强> 李>
一、用命令行的方式创建资源
主机IP地址master192.168.1.21node01192.168.1.22node02192.168.1.23仅接受json格式
配置清单(yml、yaml)
<代码> root@master ~ # cd/etc/kubernetes/manifests///美丽的yml、yaml文件代码>
1。node01和node02下载nginx镜像
<代码>码头工人拉nginx//下载nginx镜像代码>
2。主创建Pod控制器(测试web),部署
<代码> [root@master ~] # kubectl运行测试web——图像=nginx复制品=5//创建群控制器、部署代码>
3。查看控制器情况
(1)
<代码> [root@master ~] # kubectl得到部署。//查看控制器情况代码>
<代码> [root@master ~] # kubectl得到豆荚,所有名称空间- o宽//显示pod的节点信息代码>
(2)
<代码> [root@master ~] # kubectl名称空间//查看k8名称空间代码>
<代码> [root@master ~] # kubectl描述部署。测试web//查看资源详细信息代码>
<强> 查看某种资源对象,没有指定名称空间,默认是在默认的名称空间。可以加上- n选项,查看指定名称空间的资源。 强>
<代码> [root@master ~] # kubectl得到pod - n kube-system 代码>
3。删除测试web控制器
<代码> [root@master ~] # kubectl删除部署。测试web代码>
4。主创建Pod控制器(web),部署
<代码> [root@master ~] # kubectl运行web——图像=nginx副本=5 代码>
查看一下舱信息
<代码> [root@master ~] # kubectl Pod - o宽//查看一下舱的节点信息代码>
<代码> [root@master ~] # kubectl描述部署。网络//查看资源详细信息代码>
<强> 注意:直接运行创建的部署资源对象,是经常使用的一个控制器资源类型,除了部署,还有rc, rs等等pod控制器,部署是一个高级的群控制器。 强>
本机测试访问nginx
<代码> [root@master ~] #卷发10.244.1.7 代码>
5。创建服务资源类型
<代码> [root@master ~] # kubectl公开部署web - name=web-xgp——端口=80=NodePort类型//创建服务资源类型,这里我们设置了映射端口代码>
<强> 如果想要外网能够访问服务,可以暴露部署资源,得到服务资源,但svc资源的类型必须为NodePort。 强>
<强>映射端口范围:30000 - 32767 强>
查看服务信息
<代码> [root@master ~] # kubectl得到svc 代码>