K8s系列---【五、Kubernetes实战演练】

网友投稿 297 2022-09-10

K8s系列---【五、Kubernetes实战演练】

五、Kubernetes实战演练

1. Kubernetes基本指令

1、查看pod信息: kubectl get pod

2、查询pod详细信息: kubectl get pod -o wide

3、查询depolyment部署对象信息: kubectl get deployment

4、查询rs副本控制器信息: kubectl get rs

5、查询pod服务部署描述详情: kubectl describe pod podName

6、查询服务部署日志: kubectl logs podName(只有一个容器) ,kubectl logs podname -c Cname

7、登录pod内部容器: kubectl exec -it podname – sh

查询帮助文档:

1、kubectl –help

2、进一步精确查询帮助文档: kubectl 指令名称 – help

2. 部署app服务

需求: 部署一个myapp 服务(myapp镜像内部就是nginx)

指令: kubectl run my-app --image=hub.kaikeba.com/library/myapp:v1 --port=80

3. 服务是如何扩容的?

扩容指令: kubectl scale deployment my-app –replicas=3

访问服务: curl podIp

4. 服务是如何自愈的?

试验1: 删除一个pod,查询pod的数量是否满足原来的数量?--- 测试的是副本控制器

当一个pod出现了问题,副本控制器立即对pod进行修复(重新创建),发现pod的名称发生变化,不是重启而是重建;

试验2: 删除全部的POD,副本控制器能恢复吗??---如下,证明可以

问题: 如果想彻底删除pod,如何进行?

答案: 删除上层的rs或者deployment。

5. 服务更新

项目上线后,经常发布新的版本,这些版本就必须立马上线,就必须滚动更新能力;

新的版本发布: v1 ----- 》 v2 ,实现更新

更新指令: kubectl set image deployment my-app my-app= hub.kaikeba.com/library/myapp:v2

6. 负载均衡

在服务部署中,部署my-app服务的时候,创建多个副本,如何在多个副本中实现负载均衡访问?

Kubernetes中,实现多个副本之间负载均衡的方式,需要使用service资源对象;

创建Service: 此service对象服务的pod必须是当前的pod;

创建的指令: kubectl expose deployment my-app –target-port=80 –port=80

测试负载均衡:查询负载均衡使用了什么规则?---如下可见,默认轮询

7. DNS域名解析

Kubernetes在服务部署中,通过服务名称解析服务ip地址(类似微服务架构服务注册,通过服务名称发现服务),尤其是在微服务架构中,通过服务名称发现服务。

验证DNS是否OK: DNS在服务集群安装时候已经安装了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:K8s系列---【三、Kubernetes架构】
下一篇:K8s系列---【配置Harbor私有仓库】
相关文章

 发表评论

暂时没有评论,来抢沙发吧~