k8s的基本操作
一、入门操作 kubernetes 集群
1.测试
在node1进行测试,添加tomcat
1.1、部署一个 tomcat
node1即master执行
kubectl create deployment tomcat6 --image=tomcat:6.0.53-jre8
获取kubernetes 的所有资源
kubectl get all
或者
kubectl get all -o wide
可以看出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
查看service
kubectl get svc
或者
kubectl get svc -o wide
2).浏览器访问tomcat
使用浏览器可以访问tomcat
http://192.168.56.101:30091/
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 tomcat6
kubectl get all
或者
kubectl get all -o wide
可以看到有3个tomcat
2).tomcat扩容后,测试
这样的话在node2、node3都可以访问tomcat
使用同一个port
3).缩容,即减少副本
如减少tomcat为1,
在master即 node1执行
kubectl scale --replicas=1 deployment tomcat6
结果会让其他2个副本进入terminating,即终止状态
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
结果,只有service,默认名称空间下没有pod
2).删除service
1.4、以上操作的 yaml 获取
参照 k8s 细节