Deployment 用于管理无状态的持久化应用
Statefulset 控制器用于管理有状态的持久化应用,其与Deployment的不同之处在于StatefulSet 会为每个Pod 创建一个独有的持久性标识符,并会确保各Pod 之间的顺序性。
1、kubeadm init 用于集群的快速初始化,以及集群版本的升级和降级操作0
2、kubeadm join 用于将节点快速加入到指定集群中
3、kubeadm token 可于集群构建后管理用于加入集群时使用的认证令牌
4、kubeadm reset 用于删除集群构建过程中生成的文件以重置回初始状态
5、kubectl version --short=true 用于查看集群版本信息
6、kubectl cluster-info 显示集群信息
7、kubectl get namespaces 列出系统上所有的Namespace 资源对象
8、kubectl get pods,services -o wide 列出默认名称空间内的所有Pod和Service 对象,并输出详细信息
9、kubectl get pods -l k8s-app -n kube-system 查看指定名称空间kube-system 中有那些pod
10、kubectl get pods -l component=kube-apiserver -o yaml -n kube-system 查看指定名称空间中拥有指定标签的pod对象,并以yaml格式显示
11、kubectl describe pods -l component=kube-apiserver -n kube-system 同上
12、kubectl logs -f nginx-deploy-64d85b778b-7dpbp 查看nginx的实时log
13、kubectl delete services nginx-svc 删除默认名称空间中名为nginx-svc 的Service 资源对象
14、kubectl delete pods --all -n kube-qa1 删除指定名称空间中的所有的某类对象
15、kubectl run myapp --image=ikubernetes/myapp:v1 --port=80 --replicas=1 --dry-run --dry-run 用于命令的测试运行,不会执行创建过程
16、kubectl get deployments 查看存在哪些deployment控制器
17、kubectl -it exec pod-name /bin/bash 进入某个pod容器系统中,类似于docker exec
18、kubectl expose deployment/myapp --type="NodePort" --port=80 --name=myapp 用于创建service对象并将应用程序暴露于网络中
,--type 用于指定service的类型,--port用于指定要暴露的容器端口
19、kubectl get svc 列出当前service对象的相关信息
20、kubectl describe services myapp 查看service资源对象的描述
21、kubectl scale deployments/myapp --replicas=2 扩容/收缩副本,replicas比现pod数量大即为扩容,比现pod数量小则为收缩
22、kubectl edit service myapp 编辑pod的可配置属性
23、kubectl api-versions 查看当前系统api server的相关信息
24、kubectl proxy --port=8080 为api server启动一个代理网关
25、kubectl explain * 获取相关的帮助命令
26、kubectl get typename -o yaml --export > dev.yaml 以现有的配置清单文件导出为模板
27、kubectl create namespace qa 命令行创建名称空间
28、kubectl replace -f pod-example-update.yml replace 通过完全替换现有的活动对象来进行资源的更新操作
29、kubectl apply -f myapp1.yml apply 用于活动对象的补丁式更新操作
30、kubectl get pods --show-labels 显示pod的标签信息
31、kubectl label pods/pod-example env=qa 为pod添加标签信息
32、kubectl label nodes node02 disktype=ssd 为节点添加标签
33、kubectl get nodes -l 'disktype' -L disktype 查看具有某标签的node资源
34、kubectl annotate pods pod-example ilinux/created-by="cluster test" 为pod添加注解
35、kubectl describe pods pod-example|grep "Annotations" 查看pod的注解信息
36、kubectl get replicaset 查看replicaset控制器资源相关的状态
37、kubectl scale replicasets rs-example --current-replicas=2 --replicas=4 --current-replicas参数表示满足条件时,才会扩容
38、kubectl get deployments --watch 监控更新过程中pod的变动过程
39、kubectl set image deployments myapp myapp=ikubernetes/myapp:v3 && kubectl rollout pause deployments myapp pause(暂停)更新一个pod资源后暂定更新
40、kubectl rollout status deployments myapp 查看更新记录
41、kubectl rollout resume deployments myapp 继续此前的滚动更新
42、kubectl rollout undo deployments myapp 若滚动发布失败,可用undo命令进行回滚操作
43、kubectl rollout history deployments myapp 查看历史版本
44、kubectl rollout undo deployment myapp --to-revision=2 命令上使用 --to-revision 选项指定revision 号码即可回滚到历史特定版本
45、kubectl set image daemonsets filebeat-ds filebeat=ikubernetes/filebeat:5.6.6-alpine 更新filebeat pod镜像的版本至5.6.6
46、kubectl describe ingresses -n testing 查看testing名称空间ingress
47、kubectl describe pod vol-nfs-pod 查看pod创建过程的信息
48、kubectl get pv pv-nfs-0001 -o custom-columns=NAME:metadata.name,STATUS:status.phase 查看pvc资源是否被绑定
PV资源生命周期中的各个阶段
Available :可用状态的自由资源,尚未被PVC 绑定。
Bound :己经绑定至某PVC 。
Released :绑定的PVC 已经被删除,但资源尚未被集群回收。
Failed :因自动回收资源失败而处于的故障状态。
49、kubectl create configmap special-config --from-literal=special.how=very --from-literal=special.type=charm 创建configmap资源
50、kubectl get configmaps special-config -o yaml 查看configmap资源
51、kubectl create secret generic mysql-auth --from-literal=username=root --from-literal=password=ikubernetes 创建secret资源
52、kubectl get secrets mysql-auth -o yaml 查看创建的secret资源
53、kubectl config view 打印kubeconfig文件内容
54、kubectl config set-cluster 设置kubeconfig的clusters配置段
55、kubectl config set-credentials 设置users配置段
56、
57、kubectl config use-context kube-user1@kubernetes 切换kube-user1访问集群
58、kubectl config use-context kubernetes-admin@kubernetes 切换管理员账户(默认)访问集群