一、k8s的核心功能
应用部署,访问 scale up、Down以及滚动更新
二、部署应用
1.部署
kubectl run myweb --image=nginx --port=80
命名为 myweb docker镜像通过 --image指定 --port设置应对外服务的端口
这里 deployment 是 Kubernetes 的术语,可以理解为应用。 Kubernetes 还有一个重要术语 Pod。 Pod 是容器的集合,通常会将紧密相关的一组容器放到一个 Pod 中,同一个 Pod 中的所有容器共享 IP 地址和 Port 空间,也就是说它们在一个 network namespace 中。
2.查看kubectl 当前的pod
kubectl get pod -o wide
3.访问应用 即发布应用
默认情况下,所有 Pod 只能在集群内部访问。对于上面这个例子,要访问应用只能直接访问容器的 8080 端 口。为了能够从外部访问应用,我们需要将容器的 8080 端口映射到节点的端口。
kubectl expose deployment myweb --type=NodePort --port=80
4.scale应用
1.默认情况下应用只会运行一个副本 ,可以通过kubectl get deployments查看副本数。
kubectl get deployments
2.执行如下命令将副本增加到3个
kubectl scale deployment web --replicas=3
3.要scale down也方便
kubectl scale deployment web --replicas=2
三、滚动更新
1.更新
kubectl set image deployments/web nginx=httpd
kubectl set image deployments/web web=httpd
2.回滚
kubectl rollout undo deployment web
五、命令总结
Kubernetes资源的升级、回滚、扩容及缩容
创建资源的两种方式:
1. 用命令行的方式创建。2. 配置清单(yml、yaml)。
创建Pod控制器,deployment
[root@master ~]# kubectl run web --image=nginx --replicas=5
查看控制器情况:
[root@master ~]# kubectl get deployments.
查看资源详细信息:
[root@master ~]# kubectl describe deployments. web
查看资源详细信息:
[root@master ~]# kubectl describe deployments. web
删除资源:
[root@master ~]# kubectl delete pod web-59765d756f-b5wwz (强制删除 --grace-period=0 --force)
删除控制器
[root@master ~]# kubectl delete deployments. web
查看pod的详细信息,包括运行在哪个节点上。
[root@master ~]# kubectl get pod -o wide