Kubernetes 常用命令

Kubectl 与 Docker 命令


概述

Docker 命令和 Kubectl 命令有很多相似的地方,Docker 操作容器,Kubectl 操作 Pod(容器的集合)等

运行容器

Docker

$ docker run -d --restart=always -e DOMAIN=cluster --name nginx-app -p 80:80 nginx

Kubectl

$ kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster"
$ kubectl expose deployment nginx-app --port=80 --name=nginx-http

注意: kubectl run 会创建一个 Deployment 并且默认会在后台运行,以上面的代码为例它的名称为 nginx-app。默认情况 Deployment 并不会将端口暴露出去,所以我们还需要使用 kubectl expose 暴露端口以供访问,此时还会创建一个同名的 Service

查看已运行的容器

Docker

$ docker ps

Kubectl

$ kubectl get pods
$ kubectl get deployment
$ kubectl get service

交互式进入容器

Docker

$ docker exec -it 容器 ID/NAME /bin/bash

Kubectl

$ kubectl exec -it 容器名 -- /bin/bash

打印日志

Docker

$ docker logs -f 容器 ID/NAME

Kubectl

$ kubectl logs -f 容器名

停止和删除容器

Docker

$ docker stop 容器 ID/NAME
$ docker rm 容器 ID/NAME

Kubectl

$ kubectl delete deployment Deployment 名称
$ kubectl delete service Service 名称

注意: 不要直接删除 Pod,使用 kubectl 请删除拥有该 Pod 的 Deployment。如果直接删除 Pod,则 Deployment 将会重新创建该 Pod。

查看版本

Docker

$ docker version

Kubectl

$ kubectl version

查看环境信息

Docker

$ docker info

Kubectl

$ kubectl cluster-info

Kubectl 常用命令


小提示: 所有命令前都可以加上 watch 命令来观察状态的实时变化,如:watch kubectl get pods --all-namespaces

查看组件状态

$ kubectl get cs

查看环境信息

$ kubectl cluster-info

查看 Node

$ kubectl get nodes -o wide

查看集群配置

$ kubectl -n kube-system get cm kubeadm-config -oyaml

运行容器

$ kubectl run nginx --image=nginx --replicas=2 --port=80

暴露服务

$ kubectl expose deployment nginx --port=80 --type=LoadBalancer

查看命名空间

$ kubectl get namespace

创建命名空间

apiVersion: v1
kind: Namespace
metadata:
  name: development

查看容器

$ kubectl get pods -o wide
$ kubectl get deployment -o wide

查看服务

$ kubectl get service -o wide

查看详情

$ kubectl describe pod <Pod Name>
$ kubectl describe deployment <Deployment Name>
$ kubectl describe service <Service Name>

查看日志

$ kubectl logs -f <Pod Name>

删除容器和服务

$ kubectl delete deployment <Deployment Name>
$ kubectl delete service <Service Name>

配置方式运行

$ kubectl create -f <YAML>

配置方式删除

$ kubectl delete -f <YAML>

查看配置

$ kubeadm config view
$ kubectl config view

查看 Ingress

$ kubectl get ingress

查看持久卷

$ kubectl get pv

查看持久卷消费者

$ kubectl get pvc

查看 ConfigMap

$ kubectl get cm <ConfigMap Name>

修改 ConfigMap

$ kubectl edit cm <ConfigMap Name>

更多干货请移步:https://antoniopeng.com

热门文章

暂无图片
编程学习 ·

【Flutter 实战】简约而不简单的计算器

老孟导读:这是 【Flutter 实战】组件系列文章的最后一篇,其他组件地址:http://laomengit.com/guide/widgets/Text.html,接下来将会讲解动画系列,关注老孟,精彩不断。先看一下效果:大家学习UI编程语言时喜欢用哪个 App 当作第一个练手的项目呢?,我喜欢使用 计算器 ,可…
暂无图片
编程学习 ·

中断、异常、系统调用的概念

系统调用是由应用程序发起的,意思是应用程序主动向操作系统发出服务请求。 异常是由不良的应用程序发起的,意思是非法指令或者其他坏的处理状态,比如内存出错。 中断是由外设发起的,它来自于不同硬件设备的计时器或者网络的中断。
暂无图片
编程学习 ·

XTransfer外贸收款账户是如何收费的?

XTransfer外贸收款账户是如何收费的?很多朋友很关心这个问题。XTransfer账户的注册和认证是免费的,也没有年费和管理费。但是每家合作的银行政策不同,对于入账有的收费,有的免费,下面就给大家罗列一下具体的项目是如何收费的。如果您还没有注册XTransfer账号,请点击【XTr…
暂无图片
编程学习 ·

可能你还无感:AI正在帮助人类的十大应用

使用人工智能(AI)技术可以带来很多好处,其中之一就是可以帮助我们从不同的角度看待社会问题。尽管业界对AI技术可能出现的滥用有很多讨论,但我们绝对不能忽视AI应用好的一方面。全球有很多复杂的问题,而AI技术提供了一种宝贵的工具,帮助人们提高能力,为一些棘手的问题找到…
暂无图片
编程学习 ·

几种室内定位方案技术对比,高精度室内定位方案-新导智能

从古至今,人类的方方面面就离不开“定位”技术,从古代远洋航海罗盘,再到现如今每个电子终端都有的GPS,定位技术在我们身边可谓是无处不在。但人类已经演变成生活在钢筋混凝土森林的动物,工作和生活在室内的时间要远远超过室外,而且室内同样有定位和导航的需求.室内定位方…
暂无图片
编程学习 ·

RabbitMQ 教程

RabbitMQ 教程 文章目录RabbitMQ 教程消息中间件安装及管理windows安装:RabbitMQLinux安装Mac安装基本概念主要概念Exchange的类型RabbitMQ的工作模式及代码示例简单模式 Simple2.工作模式 work (资源竞争消费)3.发布订阅 publish/subscribe (广播)4.路由 routing5.主题订阅…
暂无图片
编程学习 ·

如何更好的使用大数据

在互联网时代,依靠大数据是未来的发展趋势。大数据分析现在非常流行,但是我们需要知道的是,大数据的价值体现在有效而正确的分析中。只有通过正确有效的分析工具和分析方法来解释现有的大数据,大数据才能为我们带来有价值的结果。今天,中琛魔方将教您如何有效运用大数据。…
暂无图片
编程学习 ·

VS不能使用scanf函数的解决方法

在VS创建一个c++项目之后,即使已经#include<stdio.h>仍然不能scanf,会出现下面的情况解决方法:1、点击项目->项目属性,点开属性页面2、点击C/C++ -> 预处理器 -> 预处理器定义 -> 点击右侧的下拉列表 -> 点击下拉列表里的<编辑>3、在预处理器定…
暂无图片
编程学习 ·

洛谷P2921 Trick or Treat on the Farm G

题意:每一只奶牛都从一个棚栏出发,如果走到一个地方,该地方走过的话,就停止,请问每一只奶牛最多可以走过都是个棚栏。 思路,先找出该有向图中所有的环,然后对每一个环进行缩点,计算每一个环的大小,如果走到一个环中的任意一个点后,一定会出现重复走到一个点,所以就加…
暂无图片
编程学习 ·

Strategies For Pre-Training Graph Neural Networks

Paper : STRATEGIES FOR PRE-TRAINING GRAPH NEURAL NETWORKS Code : official摘要 作者解决的问题是如何预训练一个GNN网络,保证预训练的结果在具体数据集中finetune不会negative transfer 的现象。作者在文中并没有细致的解释为什么GNN上进行transfer learning 会更难,这个…
暂无图片
编程学习 ·

GitHub更新fork的代码

1、在本地装好github客户端,或者git客户端 2、clone 自己的fork分支到本地,可以直接使用github客户端,clone到本地,如果使用命令行,命令为:git clone https://github.com/liuyanqing1023/WxJava.git3、增加源分支地址到你项目远程分支列表中(此处是关键),先得将原来的仓…
暂无图片
编程学习 ·

企业人力资源管理项目SSH+EXTJS+MySQL整合开发源码分享

企业人力资源管理项目,是SSH+EXT+MySQL+MD5...... 功能有:会话过滤、MD5加密、文件上传、权限设置、报表统计......运行环境jdk7tomcat7mysqlIntelliJ IDEA 项目技术(必填)springstrutshibernate 项目截图运行截图关注点赞之后,私信关键字【源码】即可免费获取~
暂无图片
编程学习 ·

01 HTML知识笔记(标签—布局)

本人使用的是sublime text3编辑器,这款软件的汉化破解版会随资料一起上传的😀然后找到的一些比较好的博文同大家一起share!!!Sublime text 3 汉化 破解版 分享Sublime Text3快捷键大全用sublime text3编写的html网页用浏览器打开出现中文乱码的原理及解决方法目录一、htm…
暂无图片
编程学习 ·

路由策略与路径控制

一.Passive-interface 1. RIP/IGRP 在指定接口不向外发送路由更新,但是接收路由更新 2. EIGRP 在指定接口不向外发送Hello消息,而且通过这个接口不与其他路由器建立邻居关系,不发送其他EIGRP的数据流 3. OSPF 在指定接口不向外发送Hello消息,而且通过这个接口不与其他路由器…
暂无图片
编程学习 ·

【Flink】Object Reuse 模式(Stream API)

1. 概述昨天在界面上看到一句话,主管让加上去,于是我去查查这个参数有什么用 官网:https://ci.apache.org/projects/flink/flink-docs-stable/dev/execution_configuration.html enableObjectReuse() / disableObjectReuse() By default, objects are not reused in Flink. …
暂无图片
编程学习 ·

金秋十月,再聚蓉城!一展一会,涌动环保新商机!

如果不是……今天会是“第二届中国环博会成都展”与“2020中国环境产业高峰论坛”开幕的日子。现在,两大盛会确定改到10月13-15日,地点仍为中国成都西部国际博览城。在等待的日子里,我们一起来回顾一下去年展会的盛况,再跟朋友们说说今年的最新动态。 品牌环保展落户蓉城 强…
暂无图片
编程学习 ·

大数据-java基础-第4章 while和do-while循环结构

1.循环的定义? 答: 循环就是在不停的干着同一件事情。 2.循环结构的特点? 答: 循环结构的特点是都存在循环条件和循环操作。 3.什么是while循环,while循环的特点是? 答: while循环为:while(循环条件){循环操作};当循环的条件为真是则执行循环操作,当条件为假时,结…