管理k8s核心资源的三种基本方法:

1.陈述式管理方法 - 主要依赖命令行CLI工具进行管理
2.声明式管理方法 - 主要依赖统一资源配置清单(manifest)进行管理
3.GUI式管理方法 - 主要依赖图形化操作界面(web界面)进行管理

陈述式资源管理方法

1.查看名称空间

[root@计算节点~]# kubectl get namespace #缩写 kubectl get ns

kubernetes的events查询 kubectl event_nginx

2.查看名称空间内的资源

[root@计算节点~]# kubectl get all -n default #缩写 kubectl get all

kubernetes的events查询 kubectl event_nginx_02

3.创建名称空间

[root@计算节点~]# kubectl create namespace app #缩写 kubectl create ns app

kubernetes的events查询 kubectl event_资源管理_03

4.删除名称空间

[root@计算节点~]# kubectl delete namespace app #缩写 kubectl delete ns app

kubernetes的events查询 kubectl event_nginx_04

4.创建deploymnet

[root@计算节点~]# kubectl create deployment nginx-dp --image=harbor.test.com/public/nginx:v1.7.9 -n kube-public

5.查看deploment
简单查看

[root@计算节点~]# kubectl get deployment nginx-dp -o wide -n kube-public

kubernetes的events查询 kubectl event_kubernetes的events查询_05

扩展查看

[root@计算节点~]# kubectl get pods -o wide -n kube-public

kubernetes的events查询 kubectl event_kubernetes的events查询_06

详细查看

[root@计算节点~]# kubectl describe deployment nginx-dp -n kube-public

kubernetes的events查询 kubectl event_名称空间_07


K8S默认滚动发布


StrategyType: RollingUpdate

进入容器/可以使用docker进入

kubectl exec -it nginx-dp-5dfc689474-xrzd6 /bin/bash -n kube-public

kubernetes的events查询 kubectl event_nginx_08


docker exec -it 743a /bin/bash


kubernetes的events查询 kubectl event_资源管理_09

删除pod – 删除后会重新启动一个相同的pod

[root@计算节点~]# kubectl delete pod nginx-dp-5dfc689474-4whfn -n kube-public

kubernetes的events查询 kubectl event_资源管理_10

强制删除

[root@计算节点~]# kubectl delete pod nginx-dp-5dfc689474-4whfn -n kube-public [–force --grace-period=0]

kubernetes的events查询 kubectl event_资源管理_11


管理Service资源

创建Service

[root@hdss7-14 ~]# kubectl expose deployment nginx-dp --port=80 -n kube-public
service/nginx-dp exposed

简单查看Service

[root@hdss7-14 ~]# kubectl get svc -n kube-public

kubernetes的events查询 kubectl event_资源管理_12

详细查看

[root@hdss7-14 ~]# kubectl describe svc nginx-dp -n kube-public

kubernetes的events查询 kubectl event_nginx_13


pod扩容

[root@hdss7-14 ~]# kubectl scale deployment nginx-dp --replicas=2 -n kube-public

[root@hdss7-14 ~]# ipvsadm -Ln

kubernetes的events查询 kubectl event_资源管理_14

[root@hdss7-14 ~]# kubectl describe svc nginx-dp -n kube-public

kubernetes的events查询 kubectl event_kubernetes的events查询_15


陈述式资源管理方法小结:

1.kubernetes集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口
2.kubectl是官方的CLI命令行工具,用于与apiserver进行通信,将用户在命令行输入的命令,组织并转化为
apiserver能识别的信息,进而实现管理k8s各种资源的一种有效途径
3.kubectl的命令大全
kubectl --help
http://docs.kubernetes.org.cn/ 中文社区
4.陈述式资源管理方法可以满足90%以上的资源管理需求,但他的缺点也很明显
命令冗长、复杂、难以记忆
特定场景下,无法实现管理需求
对资源的增、删、查操作比较简单,改就很痛苦