windows下kubectl的安装
1. Windows下载kubectl
2.将kucectl的所在目录添加到PATH环境变量下
3.运行 kubectl version --client
命令来测试kubectl是否正确安装并显示其版本信息。这个命令会显示kubectl客户端的版本信息,如果一切正常,这将确认kubectl已经成功安装在你的Windows系统上。
4.配置环境变量,或者将 kubeconfig 放入到用户的$HOME/.kube/config
文件中
kubectl的使用
kubectl [command] [type] [name] [flags]
command:命令,用于操作Kubernetes集群资源对象的命令,例如create、delete、describe、get、apply等
TYPE:资源对象的类型,区分大小写,能以单数、复数或者简写形式表示。例如以下3种TYPE是等价的
kubectl get pod pod1
kubectl get pods pod1
NAME:资源对象的名称,区分大小写。如果不指定名称,系统则将返回属于TYPE的全部对象的列表,例如$
kubectl get pods将返 回所有Pod的列表
flags:kubectl命令的可选参数,例如使用“-s”指定API Server的URL地址而不用默认值
在一个命令行中也可以同时对多个资源对象进行操作,以多个TYPE和NAME的组合表示,例如:
获取多个Pod的信息:
kubectl get pods pod1 pod2
同时应用多个yaml文件,以多个-f file参数表示:
kubectl get pod -f pod1.yaml -f pod2.yaml
常用命令
kubectl get pods
kubectl get nodes
#查看健康状态
kubectl get cs
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
对节点创建标签
kubectl label node node1 env_role=prod
yaml文件
实际部署任务时不使用kubectl命令行,而是使用yaml文件
k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文件,通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署了。
YAML 介绍
YAML :仍是一种标记语言。为了强调这种语言以数据做为中心,而不是以标记语言为重点。
YAML 是一个可读性高,用来表达数据序列的格式。
语法:
1.通过缩进表示层级关系
2.不能使用Tab进行缩进,只能使用空格
3.一般开头缩进两个空格,字符后缩进一个空格,比如冒号:逗号,
4.使用---表示新的yaml文件的开始
5.使用#进行注释
yaml文件组成部分
1.控制器定义
2.被控制对象
快速编写yaml文件
1.使用kubectl create生产 yaml文件
kubectl create deployment test --image=nginx -o yaml --dry-run
2.资源已有的时候,使用kubectl get 导出yaml文件,进行修改
kubectl get deploy nginx -o=yaml --export > nginx.yaml
kubectl应用升级回滚和弹性伸缩
通过yaml启动了两个nginx:1.14版本的pod
kubectl set image deployment deploy名称 nginx=ningx:1.15
kubectl set image deployment nginx nginx=ningx:1.15
通过rollout查看升级的状态
kubectl rollout status deployment nginx
查看历史版本
kubectl rollout history deployment nginx
回滚到上一版本
kubectl rollout undo deployment nginx
回滚到指定版本
kubectl rollout undo deployment nginx --to-version=2
弹性伸缩,就是指定副本数量
kubectl scale deployment nginx --replicas=3