Docker&kubernetes的一些小技巧

# 只下载 不安装 :
 yum install  --downloadonly --downloaddir=/root httpd
# 快速更改主机名称
nmcli general hostname [YOUR NEW HOSTNAME]
systemctl restart systemd-hostnamed
# 将镜像导出为文件(在离线环境中,可先在一台可以上网的机器上下载好镜像,再导出为文件,到拷到内网机器上导入)
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
# 将文件导入到镜像仓库
docker load -i my_ubuntu_v3.tar
# 以root身份进入容器
docker exec -it --user root <container id> /bin/bash
# 终止所有运行中的容器
docker kill $(docker ps -q)
# 删除本机全部容器
docker rm $(docker ps -a -q)
# 删除本机全部镜像
docker rmi -f $(docker images -q)
 # 切换到kube-system namespace: 
 kubectl ns kube-system
# 获取所有资源:
kubectl get all
 kubectl get all --all-namespaces -o wide
 kubectl get all -A -o wide
# 删除某一个pod的多个副本   
kubectl get po | grep jenk | cut -d " "  -f 1-2 |xargs kubectl delete po
# 快速删除pod
kubectl delete po xxxx -n xxx  --force --grace-period=0
# 临时给 服务帐号授权
kubectl  create clusterrolebinding permissive-binding --clusterrole=cluster-admin --group=system:serviceaccounts
# 取消以上临时授权
kubectl delete clusterrolebinding permissive-binding
# 根据deploy查看其创建文件:
kubectl get deploy/kube-dns --export -o yaml>>old-dns.yaml  -n kube-system
# 查看SVC的落地IP:
kubectl get ep xxx --namespace=xxx
# linux主机间拷贝文件:
 scp -r root@43.224.34.73:/home/lk /root
# 向pod中拷贝宿主机文件
kubectl cp /dirname/filename podname:/dirname/.
# 删除所有容器:
docker rm -f $(docker ps -a | awk '{print $1}')
#查看minikube状态  
minikube status
# 查看kubelet服务的日志
journalctl -f -u kubelet(相当于tail -f)
journalctl -xeu kubelet
systemctl kubelet.service status -l
# 临时关闭swap分区:
swapoff -a
#永久关闭:
sed -ri 's/.*swap.*/#&/' /etc/fstab
# 修改deployment镜像
kubectl set image deployment kubia nodejs=luksa/kubia:v3
# 观察控制器发出的事件:
kubectl get events --watch
# 观察命令的结果,每隔一秒钟刷新一次
watch -n 1 kubectl top pod/kubectl get hpa,deployment
# 临时创建并运行一个或多个容器镜像: 
kubectl run test  -it --rm --restart=Never --image=luksa/kubectl-proxy 
    --image-pull-policy=IfNotPresent -n bar(通常会创建一个deployment 或job来管理容器,--rm表示当pod被终止后会自动删除)
# 查看资源使用情况
kubectl top nodes/pods
# 解除/反解除node
kubectl cordon/uncordon nodeip 

你可能感兴趣的:(Docker容器技术)