Kubernate 常用指令
**kubeadm init ** master节点初始化
使用示例:
kubeadm init --kubernetes-version=1.17.4 \
--apiserver-advertise-address=10.200.30.19 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12
kubeadm join
使用示例:使用kubeadm 生成的token进行join
kubeadm join 10.200.30.19:6443 --token gmi9t2.8bfltlpgxcac13id \
--discovery-token-ca-cert-hash sha256:4338bfcf5ba948dac27c1d058586ecc6797e231f6c81fd406d5a6c1914ee40f1==
kubeadm reset master节点重置
reset指令执行后一定要记得删除$HOME/.kube文件夹
kubectl命令
kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。kubectl命令的语法如下:
kubectl [command] [type] [name] [flags]
comand:指定要对资源执行的操作,例如create、get、delete、apply
type:指定资源类型,比如deployment、pod、service、node
name:指定资源的名称,名称大小写敏感
flags:指定额外的可选参数
-
命令式对象管理:直接使用命令去操作kubernetes资源
使用示例:kubectl run nginx-pod --image=nginx:1.17.1 --port=80 -
命令式对象配置:通过命令配置和配置文件去操作kubernetes资源
kubectl create/patch -f nginx-pod.yaml -
声明式对象配置:通过apply命令和配置文件去操作kubernetes资源
不存在就创建,存在就更新
kubectl apply -f nginx-pod.yaml
创建名为dev的命名空间
kubectl create ns dev
创建3个nginx容器
kubectl run nginx --image=nginx:1.17.1 --port=80 --replicas=3 --namespace=dev
删除名称为nginx中label为env
kubectl label pod -n dev env-
删除dev的命名空间(包括namespace中的所有pod)
kubectl delete ns/namespace dev
删除deployment中的nginx
kubectl delete deploy nginx -n dev
查看集群信息
kubectl cluster-info
查看所有pod节点信息并且显示出label
- kubectl get pod/pods/po --show-labels
- kubectl get pod/po -A
- kubectl get pod -n dev #查看namespace为dev下的所有容器
- kubectl get pod nginx
- kubectl get pod -l “version=2.0” -n dev --show-labels ##查看label为version=2.0的pod
- kubectl get pod -l “version!=2.0” -n dev --show-labels
查看dev中所有deployment的详情
kubectl describe deploy/deployment -n dev
查看名称为nginx的pod的日志信息
- kubectl logs nginx
- kubectl logs nginx -all-containers=true #所有容器
- kubectl logs --tail=20 nginx #查看最近20条日志
查看所有namespace
kubectl get ns/namespace
查看所有node节点信息
- kubectl get node/no
- kubectl get no -o json
查看某个pod,以yaml格式展示结果
kubectl get pod pod_name -o yaml
查看所有资源
kubectl api-resources
命令分类 | 命令 | 翻译 | 命令作用 |
---|---|---|---|
基本命令 | create | 创建 | 创建一个资源 |
edit | 编辑 | 编辑一个资源 | |
get | 获取 | 获取一个资源 | |
patch | 更新 | 更新一个资源 | |
delete | 删除 | 删除一个资源 | |
explain | 解释 | 展示资源文档 | |
运行和调试 | run | 运行 | 在集群中运行一个指定的镜像 |
expose | 暴露 | 暴露资源为Service | |
describe | 描述 | 显示资源内部信息 | |
logs | 日志 | 输出容器在 pod 中的日志 | |
attach | 缠绕 | 进入运行中的容器 | |
exec | 执行 | 执行容器中的一个命令 | |
cp | 复制 | 在Pod内外复制文件 | |
rollout | 首次展示 | 管理资源的发布 | |
scale | 规模 | 扩(缩)容Pod的数量 | |
autoscale | 自动调整 | 自动调整Pod的数量 | |
高级命令 | apply | rc | 通过文件对资源进行配置 |
label | 标签 | 更新资源上的标签 | |
其他命令 | cluster-info | 集群信息 | 显示集群信息 |
version | 版本 | 显示当前Server和Client的版本 |