Docker 命令和 Kubectl 命令有很多相似的地方,Docker 操作容器,Kubectl 操作 Pod(容器的集合)等
docker run -d --restart=always -e DOMAIN=cluster --name nginx-app -p 80:80 nginx
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 ps
kubectl get pods
kubectl get deployment
kubectl get service
docker exec -it <容器 ID/NAME> /bin/bash
kubectl exec -it <容器名> -- /bin/bash
docker logs -f <容器 ID/NAME>
kubectl logs -f <容器名>
docker stop <容器 ID/NAME>
docker rm <容器 ID/NAME>
kubectl delete deployment <Deployment 名称>
kubectl delete service <Service 名称>
注意: 不要直接删除 Pod,使用 kubectl 请删除拥有该 Pod 的 Deployment。如果直接删除 Pod,则 Deployment 将会重新创建该 Pod。
docker version
kubectl version
docker info
kubectl cluster-info
小提示: 所有命令前都可以加上
watch
命令来观察状态的实时变化,如:watch kubectl get pods --all-namespaces
kubectl get cs
kubectl cluster-info
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
kubectl get ingress
kubectl get pv
kubectl get pvc
kubectl get cm <ConfigMap Name>
kubectl edit cm <ConfigMap Name>
转自:有梦想的咸鱼
原文:https://www.cnblogs.com/zjq-blogs/p/14067767.html