kubectl与Docker命令对比

1、如何运行 nginx 并且暴露端口?

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

1.2 使用 kubectl
$ kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster"
deployment "nginx-app" created


kubectl run 在 Kubernetes 集群 >= v1.2 上将创建名是 “nginx-app”的 Deployment。
使用上面创建的 Deployment 来暴露一个新的服务:
# expose a port through with a service
$ kubectl expose deployment nginx-app --port=80 --name=nginx-http
service "nginx-http" exposed


要删除 Deployment (及其 pod),使用
kubectl delete deployment <name>


备注:使用 kubectl 创建一个 Deployment,他能保证任何情况下有 N 个运行 nginx 的 pods(其中 N 是默认定义声明的副本数,默认为 1 个)。

2、如何列出当前运行的内容?

2.1 使用docker
docker ps

2.2 使用kubectl
kubectl get po

3、如何连接已经运行在容器中的进程?

3.1 使用docker
docker attach container_id

3.2 使用kubectl
kubectl get pods
kubectl attach -it pod_name

4、如何在容器中执行命令?

4.1 使用docker
docker exec container_id cat /etc/hostname

4.2 使用kubectl
kubectl exec pod_name -- cat /etc/hostname

5、如何在容器中执行交互式命令?

5.1 使用docker
docker exec -it container_id /bin/bash

退出容器
exit

5.2 使用kubectl
kubectl exec -it pod_name -- /bin/bash

退出
exit

6、如何查看容器的日志?

6.1 使用docker
docker logs -f container_id

6.2 使用kubectl
kubectl logs -f pod_name

kubectl logs --previous pod_name

7、如何停止和删除正在运行的进程?

7.1 使用docker
docker stop container_id
docker rm container_id

7.2 使用kubectl
kubectl get deployment nginx-app
kubectl delete deployment nginx-app
deployment "nginx-app" deleted

kubectl get po -l run=nginx-app
# Return nothing


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

8、如何获取客户端和服务器的版本号?

8.1 使用docker
docker version

8.2 使用kubectl
kubectl version

9、如何获取有关配置和环境信息?

9.1 使用docker
docker info

9.2 使用kubectl
kubectl cluster-info


来源:Kubernetes(K8s)入门文档.pdf


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值