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

你可能感兴趣的:(Kubernetes,kubernetes)