2021-07-26

k8s的基本操作

一、入门操作 kubernetes 集群

1.测试

在node1进行测试,添加tomcat

1.1、部署一个 tomcat

node1即master执行
kubectl create deployment tomcat6 --image=tomcat:6.0.53-jre8
2021-07-26
获取kubernetes 的所有资源
kubectl get all
或者
kubectl get all -o wide
2021-07-26
可以看出tomacat部署到node2

如果node2的tomcat停止,会在node2重新拉起一个tomcat
如果node2宕机,会在node3重新拉起一个tomcat
如果node2重新恢复,节点会进入终止状态,terminating
总是保证有一个副本

以上就是节点的容灾恢复的实验

如果某个节点宕机,会自动恢复,在其他节点重新拉取副本

1.2、暴露 nginx 访问

暴露 nginx 访问,也就是把副本暴露出去,让外网访问。如暴露tomcat给nginx

1).吧tomcat暴露给nginx

在master即node1,执行
kubectl expose deployment tomcat6 --port=80 --target-port=8080 --type=NodePort
Pod 的 80 映射容器的 8080;service 会代理 Pod 的 80
2021-07-26
查看service
kubectl get svc
或者
kubectl get svc -o wide
2021-07-26

2).浏览器访问tomcat

使用浏览器可以访问tomcat
http://192.168.56.101:30091/
2021-07-26

1.3、动态扩容测试

kubectl get deployment
应用升级 kubectl set image (–help 查看帮助)
扩容: kubectl scale --replicas=3 deployment tomcat6
扩容了多份,所有无论访问哪个 node 的指定端口,都可以访问到 tomcat6

1).扩容3个tomcat

master即node1执行
kubectl scale --replicas=3 deployment tomcat62021-07-26

kubectl get all
或者
kubectl get all -o wide
可以看到有3个tomcat 2021-07-26

2).tomcat扩容后,测试

这样的话在node2、node3都可以访问tomcat
使用同一个port
2021-07-26

3).缩容,即减少副本

如减少tomcat为1,
在master即 node1执行
kubectl scale --replicas=1 deployment tomcat6
结果会让其他2个副本进入terminating,即终止状态
2021-07-26

1.4、删除

Kubectl get all
kubectl delete deploy/nginx
kubectl delete service/nginx-service
流程;创建 deployment 会管理 replicas,replicas 控制 pod 数量,有 pod 故障会自动拉起新的 pod

1).删除部署deployment

master即node1执行
kubectl delete deployment.apps/tomcat6
2021-07-26
结果,只有service,默认名称空间下没有pod
2021-07-26

2).删除service

2021-07-26

1.4、以上操作的 yaml 获取

参照 k8s 细节

2.

二、

1.

2.

上一篇:二、k8s入门系列----deployment、replicaset


下一篇:⑤.kubernetes Deployment