k8s的实现核心实际上就是通过读写etcd数据库实现对资源的存储,管理和控制。

k8s所有资源的本源都是存储在etcd中的一个个键值对。

理论上可以观察到etcd数据库中的数据变化。具体的使用方式如下:

用$K8SPATH/hack/local-up-cluster.sh启动一个k8s服务。这个可执行脚本中的68行定义了etcd的版本,默认是etcd3,可以修改为etcd2。

这个版本很重要,因为etcd3和etcd2是完全不同的两个东西,两者完全不兼容。

etcdctl工具是一个可以对etcd数据进行管理的命令行工具,这个工具在两个不同的etcd版本下的行为方式也完全不同。

export ETCDCTL_API=2

export ETCDCTL_API=3

以上两个语句分别将etcdctl访问的etcd版本调整为2或者3,下面分别说明两种不同的版本如何分别进行数据的访问。

etcd2

在etcd2的情况下,对etcd数据的访问如下:

etcdctl ls

可以逐级显示其当前的存储目录,直至到key-value

etcd3

etcdctl get / --prefix --keys-only
这条指令的意思是获取etcd中存储的所有key,并且前缀为 ‘/’,其结果类似于:

/registry/apiregistration.k8s.io/apiservices/v1.

/registry/apiregistration.k8s.io/apiservices/v1.authentication.k8s.io
对其中一个特定的键进行访问可以用一下方式进行:

etcdctl get /registry/apiregistration.k8s.io/apiservices/v1.

kubectl

source <(kubectl completion bash) #命令补全

启动-状态

  1. master
  2. systemctl daemon-reload
  3. systemctl start kube-apiserver
  4. systemctl start kube-controller-manager
  5. systemctl start kube-scheduler
  6. etcd
  7. systemctl start etcd.service
  8. client
  9. systemctl start kube-proxy -l
  10. systemctl start docker -l
  11. systemctl start kubelet -l
  12. status
  13. systemctl status etcd.service
  14. systemctl status kube-apiserver -l
  15. systemctl status kube-controller-manager -l
  16. systemctl status kube-scheduler
  17. systemctl status kube-proxy -l
  18. systemctl status docker -l
  19. systemctl status kubelet -l

常用命令

  1. kubectl get pods
  2. kubectl get rc
  3. kubectl get service
  4. kubectl get componentstatuses
  5. kubectl get endpoints
  6. kubectl cluster-info
  7. kubectl create -f redis-master-controller.yaml
  8. kubectl delete-f redis-master-controller.yaml
  9. kubectl delete pod nginx-772ai
  10. kubectl logs -f pods/heapster-xxxxx -n kube-system #查看日志
  11. kubectl scale rc redis-slave --replicas=3#修改RC的副本数量,来实现Pod的动态缩放
  12. etcdctl cluster-health #检查网络集群健康状态
  13. etcdctl --endpoints=https://192.168.71.221:2379 cluster-health #带有安全认证检查网络集群健康状态
  14. etcdctl member list
  15. etcdctl set/k8s/network/config '{ "Network": "10.1.0.0/16" }'
  16. etcdctl get/k8s/network/config

基础进阶

  1. kubectl get services kubernetes-dashboard -n kube-system #查看所有service
  2. kubectl get deployment kubernetes-dashboard -n kube-system #查看所有发布
  3. kubectl get pods --all-namespaces #查看所有pod
  4. kubectl get pods -o wide --all-namespaces #查看所有pod的IP及节点
  5. kubectl get pods -n kube-system | grep dashboard
  6. kubectl describe service/kubernetes-dashboard --namespace="kube-system"
  7. kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system"#指定类型查看
  8. kubectl describe pod nginx-772ai#查看pod详细信息
  9. kubectl scale rc nginx --replicas=5# 动态伸缩
  10. kubectl scale deployment redis-slave --replicas=5#动态伸缩
  11. kubectl scale --replicas=2-f redis-slave-deployment.yaml #动态伸缩
  12. kubectl exec-it redis-master-1033017107-q47hh /bin/bash #进入容器
  13. kubectl label nodes node1 zone=north #增加节点lable值 spec.nodeSelector: zone: north #指定pod在哪个节点
  14. kubectl get nodes -lzone #获取zone的节点
  15. kubectl label pod redis-master-1033017107-q47hh role=master #增加lable值 [key]=[value]
  16. kubectl label pod redis-master-1033017107-q47hh role-#删除lable值
  17. kubectl label pod redis-master-1033017107-q47hh role=backend --overwrite #修改lable值
  18. kubectl rolling-update redis-master -f redis-master-controller-v2.yaml #配置文件滚动升级
  19. kubectl rolling-update redis-master --image=redis-master:2.0#命令升级
  20. kubectl rolling-update redis-master --image=redis-master:1.0--rollback #pod版本回滚

kubectl 命令集合相关推荐

  1. Kubernetes二进制集群部署+Web管理界面+kubectl 命令管理+YAML文件详解(集合)

    Kubernetes---- 二进制集群部署(ETCD集群+Flannel网络) Kubernetes----单节点部署 Kubernetes----双master节点二进制部署 Kubernetes ...

  2. kubectl命令管理kubernetes对象的三种方式

    kubenetes的抽象概念,如Pod.Service.Volume.Namespace.ReplicaSet.Deployment.StatefulSet.DaemonSet.Job等统称对象,ku ...

  3. kubectl常用命令_《蹲坑学kubernetes》之十五:kubectl命令详解

    kubectl用于运行Kubernetes集群命令的管理工具.本章节主要讲了kubectl基本语法和使用方法.在以后的实际工作中,使用越来越多,也会越来越熟悉. 1.kubectl语法 kubectl ...

  4. Linux下,各种解压缩命令集合

    Linux下,各种解压缩命令集合 tar xvfj lichuanhua.tar.bz2 tar xvfz lichuanhua.tar.gz tar xvfz lichuanhua.tgz tar  ...

  5. linux(Ubuntu/Centos) iproute 路由IP地址等命令集合,查看端口链接

    原 linux(Ubuntu/Centos) iproute 路由IP地址等命令集合,查看端口链接 2017年03月20日 16:55:57 风来了- 阅读数:2291 标签: centoslinux ...

  6. 双轴机械臂串口控制命令开发与测试:STM32F103控制板,简易调试命令集合

    ▌01 底层串口控制命令 1.调试说明 本文是继 调试机械臂一体化控制电路 博文中对于 两轴机械臂+机械爪整体控制板设计与机械爪控制调试 在 基于STM32F103双轴机械臂完整电路板 控制下进行串口 ...

  7. kubenetes kubectl命令记录

    2019独角兽企业重金招聘Python工程师标准>>> kubenetes kubectl命令记录 博客分类: Kubernetes 1.显示所有pod  kubectl get p ...

  8. 数据包构造分析工具Hping3常用命令集合大学霸IT达人

    数据包构造分析工具Hping3常用命令集合大学霸IT达人 Hping是一个命令行下使用的TCPIP数据包组装分析工具.该工具的命令模式很像Unix下的ping命令.它不止能发送ICMP回应请求,还支持 ...

  9. 基于ARP的网络扫描工具netdiscover常用命令集合大学霸IT达人

    基于ARP的网络扫描工具netdiscover常用命令集合大学霸IT达人 ARP是将IP地址转化物理地址的网络协议.通过该协议,可以判断某个IP地址是否被使用,从而发现网络中存活的主机.netdisc ...

最新文章

  1. 电脑主板跳线_电脑基础进阶必学知识,详解电脑主板跳线!
  2. windows hider
  3. Win10中SVN图标不显示的解决
  4. Hibernate配置文件解释
  5. 下列哪个是java的标识符_下列哪个不属于Java的正确标识符?A、publicB、sizeofC、cLAssD、_new...
  6. (译)删除未使用的前端代码
  7. 【自动化测试】搭建一个简单从Excel读取用例内容并输出结果的脚本
  8. 大一新生开发的小工具火了,网友:我好菜
  9. linux内核分析与移植,内核分析移植
  10. 那些年,我和发哥在恒大的日子
  11. すぬけ君の地下鉄旅行 / Snuke's Subway Trip(AtCoder-2069)
  12. 论文 计算机动态网页的制作,毕业论文 动态网页制作学习网站的设计与实现
  13. Shiro源码分析之Subject和SecurityManager
  14. linux内存管理(十四)-内存OOM触发分析
  15. JVM笔记(B站宋红康课件)
  16. WinCC语音报警实现方法
  17. 频繁默认网关不可用_电脑经常掉线提示默认网关不可用原因分析和解决办法
  18. Redis 运维实战 第07期:Hotkey
  19. 基于BP神经网络控制+Simulink双闭环直流调速系统仿真
  20. Maya制作卡通眨眼眼皮绑定技巧

热门文章

  1. springboot个人网站系统毕业设计源码261620
  2. python ffmpeg pipe_Python子进程中的ffmpeg无法为“pipe:”找到合适的输出格式
  3. 在成长湾让孩子体验各种梦想
  4. sw模型转urdf,并在gazebo和rviz中显示
  5. 免费、高质量样机素材网,我就推荐这6个
  6. oracle基本命令集合(2)--单行函数
  7. swing 简易贪吃蛇小游戏开发
  8. iOS应用如果打包安装到手机测试
  9. 如何优雅地生成那些花里胡哨的复杂样式 Excel 文件?
  10. 妈耶,爆炸了!Oracle发布全栈虚拟机GraalVM,全力支持 Python!