kubectl集群管理的命令
1.信息查询命令
语法格式:kubectl [command] [type] [name] [flags]
kubectl get nodes master ...
command:子命令,如create,get,describe,delete
type:资源类型,可分为单,复数
name:资源名称(主机名)
flags:指定可选的参数标记
(1)help:查看子命令的帮助信息
kubectl get --help
(2)cluster-info:显示集群的相关配置信息
kubectl cluster-info
(3)api-resources:查看资源类型
(4)api-versions:查看资源对象支持的版本
(5)config:管理当前节点上的认证信息
kubectl config get-contexts //查看当前认证使用的用户及证书
kubectl config view //使用view查看详细配置
2.k8s中资源管理命令
(1)run:创建Pod资源对象
kubectl [选项/参数] run pod名称 --images 镜像:标签
[选项/参数]:-n work,指定名称空间
(2)create:创建资源对象,除了pod
kubectl create 资源名称 [选项/参数]
kubectl create namespace work
(3)namespaces:名称空间(分区),k8s为了管理服务方便,设置的分区
1)kubectl create namespace+名称空间名字 //创建名称空间
2)kubectl get namespaces :查看名称空间
default:默认,不申明命名空间的pod都在这里
kube-node-lease:高可用提供心跳监视的命名空间
kube-public:公共数据
kube-system:系统服务使用的名称空间
3)kubectl -n kube-system get pods:查看名称空间中的Pod信息
排错三剑客:
(4)get:查看资源对象的状态信息(盒子外表)
kubectl get 资源类型(pod,namespaces,development..) 资源名称(资源类型内部的一个) [选项/参数]
选项/参数: [-o name]:只显示名字,[-o wide]:显示详细信息,[-o yaml]:yaml格式显示
kubectl get pods myweb
(5)describe:查询资源对象的属性信息(盒子的属性信息,可查看资源里面有哪些容器)
kubectl [选项/参数] describe 资源类型 资源名
[选项/参数]:-n work,指定名称空间
kubectl -n work describe pod myweb
(6)logs:查看容器的日志信息(盒子里面容器的信息)
kubectl [选项/参数] logs pod资源名称
[选项/参数]:-n work,指定名称空间
kubectl -n work logs myweb
(7)exec:在某一个容器内执行特定的命令
kubectl [选项/参数] exec pod名称 -- 操作命令
参数: -it分配交互终端
--: 选项终止符号,后面的东西都是参数,与命令选项无关
kubectl exec -it myweb -- bash
(8)cp:在容器和宿主机之间拷贝文件或目录(容器里面的路径使用绝对路径)
kubectl [选项/参数] cp 原文件路径 目标文件路径
kubectl cp myweb:/etc/yum.repos.d /root/aaa
注意:这个cp命令的本质是打的tar包
(9)delete:删除资源对象
kubectl [选项/参数] delete 资源类型 资源名称
1)删除一个pod
kubectl -n work delete pod myphp
2)删除名称空间下的所有pod
kubectl -n work delete pod --all
3)删除名称空间
kubectl delete namespaces work
3.metrics资源指标插件安装:获取node和pod的cpu和内存资源使用情况
(10)kubectl top nodes:所有节点占用资源情况
(11)kubectl top pods:查看所有pod所占的资源情况
(12)kubectl top pods myweb:查看某个pod所占的资源情况
1.配置授权证书
(1)配置文件追加/var/lib/kubelet/config.yaml
serverTLSBootstrap: true
(2)kubectl get csr :列出所有待批准的CSRs
(3)kubectl certificate approve +对应节点的csr名字 //签发csr证书
2.安装插件metrics
(1)上传镜像到私有仓库
cd plugins/metrics
docker load -i metrics-server.tar.xz
docker images|while read i t _;do
[[ "${t}" == "TAG" ]] && continue
[[ "${i}" =~ ^"harbor:443/".+ ]] && continue
docker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}
docker push harbor:443/plugins/${i##*/}:${t}
docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
done
(2)使用资源对象文件创建服务
sed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' components.yaml
kubectl apply -f components.yaml
(3)验证插件Pod状态
kubectl -n kube-system get pods
3.证书签发监控其它node节点的cpu,内存
(1)在所有计算节点配置证书
echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml
systemctl restart kubelet
(2)在master签发证书
kubectl certificate approve +对应节点的csr名字
(3)kubectl get csr
kubectl集群管理的命令
1.信息查询命令
语法格式:kubectl [command] [type] [name] [flags]
kubectl get nodes master ...
command:子命令,如create,get,describe,delete
type:资源类型,可分为单,复数
name:资源名称(主机名)
flags:指定可选的参数标记
(1)help:查看子命令的帮助信息
kubectl get --help
(2)cluster-info:显示集群的相关配置信息
kubectl cluster-info
(3)api-resources:查看资源类型
(4)api-versions:查看资源对象支持的版本
(5)config:管理当前节点上的认证信息
kubectl config get-contexts //查看当前认证使用的用户及证书
kubectl config view //使用view查看详细配置
2.k8s中资源管理命令
(1)run:创建Pod资源对象
kubectl [选项/参数] run pod名称 --images 镜像:标签
[选项/参数]:-n work,指定名称空间
(2)create:创建资源对象,除了pod
kubectl create 资源名称 [选项/参数]
kubectl create namespace work
(3)namespaces:名称空间(分区),k8s为了管理服务方便,设置的分区
1)kubectl create namespace+名称空间名字 //创建名称空间
2)kubectl get namespaces :查看名称空间
default:默认,不申明命名空间的pod都在这里
kube-node-lease:高可用提供心跳监视的命名空间
kube-public:公共数据
kube-system:系统服务使用的名称空间
3)kubectl -n kube-system get pods:查看名称空间中的Pod信息
排错三剑客:
(4)get:查看资源对象的状态信息(盒子外表)
kubectl get 资源类型(pod,namespaces,development..) 资源名称(资源类型内部的一个) [选项/参数]
选项/参数: [-o name]:只显示名字,[-o wide]:显示详细信息,[-o yaml]:yaml格式显示
kubectl get pods myweb
(5)describe:查询资源对象的属性信息(盒子的属性信息,可查看资源里面有哪些容器)
kubectl [选项/参数] describe 资源类型 资源名
[选项/参数]:-n work,指定名称空间
kubectl -n work describe pod myweb
(6)logs:查看容器的日志信息(盒子里面容器的信息)
kubectl [选项/参数] logs pod资源名称
[选项/参数]:-n work,指定名称空间
kubectl -n work logs myweb
(7)exec:在某一个容器内执行特定的命令
kubectl [选项/参数] exec pod名称 -- 操作命令
参数: -it分配交互终端
--: 选项终止符号,后面的东西都是参数,与命令选项无关
kubectl exec -it myweb -- bash
(8)cp:在容器和宿主机之间拷贝文件或目录(容器里面的路径使用绝对路径)
kubectl [选项/参数] cp 原文件路径 目标文件路径
kubectl cp myweb:/etc/yum.repos.d /root/aaa
注意:这个cp命令的本质是打的tar包
(9)delete:删除资源对象
kubectl [选项/参数] delete 资源类型 资源名称
1)删除一个pod
kubectl -n work delete pod myphp
2)删除名称空间下的所有pod
kubectl -n work delete pod --all
3)删除名称空间
kubectl delete namespaces work
3.metrics资源指标插件安装:获取node和pod的cpu和内存资源使用情况
(10)kubectl top nodes:所有节点占用资源情况
(11)kubectl top pods:查看所有pod所占的资源情况
(12)kubectl top pods myweb:查看某个pod所占的资源情况
1.配置授权证书
(1)配置文件追加/var/lib/kubelet/config.yaml
serverTLSBootstrap: true
(2)kubectl get csr :列出所有待批准的CSRs
(3)kubectl certificate approve +对应节点的csr名字 //签发csr证书
2.安装插件metrics
(1)上传镜像到私有仓库
cd plugins/metrics
docker load -i metrics-server.tar.xz
docker images|while read i t _;do
[[ "${t}" == "TAG" ]] && continue
[[ "${i}" =~ ^"harbor:443/".+ ]] && continue
docker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}
docker push harbor:443/plugins/${i##*/}:${t}
docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
done
(2)使用资源对象文件创建服务
sed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' components.yaml
kubectl apply -f components.yaml
(3)验证插件Pod状态
kubectl -n kube-system get pods
3.证书签发监控其它node节点的cpu,内存
(1)在所有计算节点配置证书
echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml
systemctl restart kubelet
(2)在master签发证书
kubectl certificate approve +对应节点的csr名字
(3)kubectl get csr