一. 设置kubectl输入命令自动补全

依次执行一下命令:

yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

二. 名称简写

po (pod)
ns (命名空间namespace)
instance (实例)
svc (service服务): 定义一个pod的逻辑分组,一种可以访问他们的策略(微服务)。
cm (configMap): 存储全局配置变量的,将分布式系统中不同模块的环境变量统一到一个对象中管理。
ds (deamonSet):在每台计算机节点上运行一个守护进程(如日志采集等),有时pod处于pending可能是因为某个deamonSet没起来。
deploy (deployment)

三. 常用命令

kubectl获取命令

kubectl get node 获取节点信息
kubectl get pods -o wide 获取pod详细信息
kubectl get ns 获取所有namespace
bukectl get deployment 获取deployment信息
kubectl get svc 查看service信息
kubectl describe svc 查看service信息
kubectl get svc -n kube-system 查看service的ip地址
kubectl -n {$namespace} get pods 在指定的namespace下获取资源
kebuctl logs nginx 获取nginx pod的日志信息

kubectl创建pod

kubectl run nginx-deploy --image=nginx --port=80 --replicas=1 --dry-run=true

nginx-deploy 表示deployment的名称
--images 表示镜像的地址
--port 表示pod暴露的端口
--replicas 表示副本的个数
--dry-run 表示测试,不真正执行命令(测试命令是否正确),去掉该参数即真正执行命令

kubectl创建service

kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80 --protocol=TCP --type=ClusterIP

deployment nginx-deploy 表示导出哪个deployment到service
--name 创建service的名称
--port 表示service开放的端口
--target-port 表示pod的远端端口
--protocol 表示传输方式(tcp/udp)
--type 表示该service展现的范围(ClusterIP表示在集群内部使用)

kubectl创建交互式pod

kubectl run client --image=busybox --restart=Never --replicas=1 -it

创建一个交互式dns服务器的pod,当退出时该pod删除(--restart=Never)

kubectl升级pod

kubectl set image deployment nginx-deploy nginx-deploy=nginx:20190424

升级deployment为nginx-deploy的pod, 所使用的的镜像是nginx:20190424

kubectl rollout status deployment nginx-deploy

显示deployment为nginx-deploy的跟新过程.属于轮询更新,一个个更新的

kubectl rollout undo deployment nginx-deploy

如不指明nginx-deploy=nginx:20190424,那么就是回滚到上一个版本

kubectl修改配置

kubectl edit svc nginx

修改service的nginx的type类型为NodePort

kubectl针对资源清单的简单命令

kubectl create -f pod-demo.yaml 创建一个pod-demo的资源清单
bukectl descride pod pod-demo 查看pod-demo创建详情过程
kubectl logs pod-demo nginx-deploy 查看pod-demo的pod中的nginx-deploy容器日志
kubectl exec -it pod-demo -c nginx-deploy --/bin/bash 交互式进入nginx-deploy容器进行操作
kubectl delete pod pod-demo 删除pod-demo的pod
kubectl delete -f pod-demo.yaml 删除pod-demo的pod

K8s的kubectl常用命令的更多相关文章

  1. k8s记录-kubectl常用命令

    kubectl kubectl annotate – 更新资源的注解.kubectl api-versions – 以“组/版本”的格式输出服务端支持的API版本.kubectl apply – 通过 ...

  2. Kubernetes,kubectl常用命令详解

    kubectl概述 祭出一张图,转载至 kubernetes-handbook/kubectl命令概述 ,可以对命令族有个整体的概念. 环境准备 允许master节点部署pod,使用命令如下: kub ...

  3. k8s~kubectl常用命令

    查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间 kubectl get pod kubectl get pod -n kube kubectl get pod -o w ...

  4. k8s记录-kubectl常用

    kubectl create/delete -f xxx.yml kubectl get all -A kubectl get pods -o wide kubectl describe pods p ...

  5. kubectl常用命令汇总

    #查看k8s的所有node节点 kubectl get node #查看ns的pod kubectl get pod --all-namespaces -o wide kubectl get pod ...

  6. kubectl 常用命令总结

    # 查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间 kubectl get pod kubectl get pod -n kube # 查看 RC 和 service ...

  7. kubectl常用命令

    command kubectl kubectl 输出格式 显示Pod的更多信息 kubectl get pod <pod-name> -o wide 以yaml格式显示Pod的详细信息 k ...

  8. Kubernetes之kubectl常用命令

    最近项目有用到Kubernetes作集群配置,所以学习下相关命令,记录下以备下次使用... kubectl help 显示具体的用法 kubectl controls the Kubernetes c ...

  9. kubectl 常用命令一

    1.kubectl logs <options>  <PodName> -f -p, --previous --since= No. --since-time= --tail ...

随机推荐

  1. single-pass单遍聚类方法

    一.通常关于文本聚类也都是针对已有的一堆历史数据进行聚类,比如常用的方法有kmeans,dbscan等.如果有个需求需要针对流式文本进行聚类(即来一条聚一条),那么这些方法都不太适用了,当然也有很多其 ...

  2. 2017 ZSTU寒假排位赛 #4

    题目链接:https://vjudge.net/contest/148543#overview. A题:n个罪犯,每个人有一个犯罪值,现在要从里面选出连续的c个人,每个人的犯罪值都不能超过t,问选法的 ...

  3. CF1207A

    CF1207A-There Are Two Types Of Burgers 题意: 出售普通汉堡和鸡肉汉堡,并且两种汉堡所需的原材料价格不同,问最多能卖多少钱. 解法: 对于这道题,我们优先考虑先卖 ...

  4. django 快速实现注册(四)

    一.创建项目与应用  #创建项目fnngj@fnngj-H24X:~/djpy$ django-admin.py startproject mysite3fnngj@fnngj-H24X:~/djpy ...

  5. Kafka 实践

    问题描述 配置 Kafka-client 2.x, Spring-Kafka 默认配置 Kafka 三个partition, 使用KafkaListener按group消费. 现象 某天突然发现两个p ...

  6. Linux设备驱动程序 之 内核符号表

    insmod使用公共内核符号表来解析模块中未定义的符号.功能内核符号表中包含了所有全局内核项(函数和变量)的地址,这是实现模块化驱动程序所必须的.当模块装载到内核后,它所导出的任何符号都会变成内核符号 ...

  7. usage memcache in linux

    set和add的区别 set可以重写存在的键值对, 也可以添加新的/ 而add不行, 如果存在已有的键名, 则add不会做更新该键值对, 不做任何事, 就是一次无效操作, 也就是, add可以防止重写 ...

  8. vscode 记住git用户密码

    一.选中文件-->首选项-->设置,搜索git,在setting.json中添加 "git.path":"/bin/git.exe" 二.git b ...

  9. ScreenShot 截图工具类

    import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Rect; import an ...

  10. C# WinForm设置窗口大小不可调,取消最大、最小化按键

    this.FormBorderStyle = FormBorderStyle.FixedDialog;//设置边框为不可调节 this.MaximizeBox = false;//取消最大化按键 th ...