开发者学堂课程【Kubernetes 极速入门:K8S 集群核心概念 Service_通过资源清单文件创建 Service_ClusterIP】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/658/detail/10918
K8S 集群核心概念 Service_通过资源清单文件创建 Service_ClusterIP
内容介绍:
一.创建资源清单要编写资源清单文件
二.应用资源清单要编写资源清单文件
三.总结
一.创建资源清单要编写资源清单文件代码如下:
apiverson:apps v1kind:Deployment
metadata:
name:nginx-apps
1abe1s:
app:nginx
spec:
replicas:1
selector:
matchLabe1s:
app:nginx
template:
metadata:
Tabe1s:
app:nginx
spec:
containers:
-name:nginxapps
image:nginx:1atest
imagePu11Policy:IfNotPresent ports:
containerPort:80
apiversion:v1
kind: Service
metadata:
name:nginx-apps
spec:
type: clusterIP
selector:
app:nginx
ports:
-protoco1: TCP
port:80
targetport:80
二.应用用于创建 service 资源清单文件:
(1)开始编写文件,文件有三个,所以要创建第4个文件,创建一个 deployment类型的应用,加上一个 service 和创建 app2,加上一个 service。
(2)具体内容,如果在同一个文件中包含多个资源,建议使用三个连字符把他进行分割,首先做一个 deployment 类型的发布
(3)首先第一个内容是写 apiVersion:apps/v1 这个位置需要注意,后面加上kind:deployment,编写应用的名字:metadata 换行加俩个空号写上应用名字,name:nginx-app2完成,可以不用考虑 later,应用期望 spec:副本是两个来运行
(4)再然后写的是s,需要注意的是现在写和稍后写都是可以的,后来换行空4格写的是匹配,匹配的标签是可以是 app:nginx 这是第二个内容。
(5)第三个内容是 template 模板后加上标签,注意,这个标签要与 apps:nginx标签保持一致,所以要添加 labels:后再添加 apps:nginx,这个完成后,因为有期望所以模板中的期望是什么?
是属于 template 类下的,期望是容器,所以写成 con 后写名字,使用的镜像是image,再使用测量 image。
最后是容器所使用的端口,直接使用数组的方式写出即可80这是容器中所对应的窗口。
给应用中的 port 添加 service,让别人可以通过 service 来访问 port,因为现在的port有两份,不知道应该访问哪一个,我们使用分割线来创建 service,不要放在一个地方来编写,创建 service 首先写 apiVersion:v1,kind类型直接写 Service,metadata 后写的是 service 的名称,是可以自己定义的,对service的期望是spec后加上 type 类型C只能在局域网中被访问,端口是S因为有很多端口,端口所指的协议是 TCP 的协议,容器的端口是80,对标到容器中时使用 target 同样是80,service 中加入 selector 是为了与控制性类型的 port 进行关联再添加 apps:nginx使其关联起来。
应用资源清单文件:
首先创建一个 deplyment 类型的应用,在 app2上,其次是创建 service,查看控制类型的应应用以及 service,使用 deployment 类型
使用 get service 可以查看端口 IP
使用 http://10.107.137.11来查看网页 html
使用 get endpoints 会有两个容器
可以修改后使用同时具有负载均衡的功能,进入 port 文件对网页文件进行修改,使用命令 exec 进入到 port 命令后 us'r/share 里面的 nginx 里面的 html 中进入,进入后可以看到首页文件,使用 echo 改变文件放在 index.html 中
第二个与第一个类似
访问 serviceip 得到两个
三 .总结
由此可见,ks8 集群可以实现负载分工的功能,同时在调用的过程中是没有按照规律进行的。