k8s集群管理
集群管理命令
命令说明
子命令 | 说明 |
---|---|
help | 用于查看命令及子命令的帮助信息 |
cluster-info | 显示集群的相关配置信息 |
version | 查看服务器及客户端的版本信息 |
api-resources | 查看当前服务器上所有的资源对象 |
api-versions | 查看当前服务器上所有资源对象的版本 |
config | 管理当前节点上kubeconfig 的认证信息 |
# 查看帮助命令信息
[root@master ~]# kubectl help version
# 查看集群状态信息
[root@master ~]# kubectl cluster-info
# 查看服务端与客户端版本信息
[root@master ~]# kubectl version
# 查看资源对象类型
[root@master ~]# kubectl api-resources
# 查看资源对象版本
[root@master ~]# kubectl api-versions
# 查看当前认证使用的用户及证书
[root@master ~]# kubectl config get-contexts
# 使用 view 查看详细配置
[root@master ~]# kubectl config view
主机管理授权
比如harbor主机想要像master主机一样控制其他节点
[root@harbor ~]# vim /etc/hosts
192.168.1.30 harbor
192.168.1.50 master
192.168.1.51 node-0001
192.168.1.52 node-0002
192.168.1.53 node-0003
192.168.1.54 node-0004
192.168.1.55 node-0005
#下载插件
dnf install -y kubectl
# 管理授权
mkdir -p $HOME/.kube
rsync -av master:/etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
#验证
[root@harbor ~]# kubectl get nodes
Pod管理命令
Pod管理命令(一)
子命令 | 说明 | 备注 |
---|---|---|
run/create | 创建资源对象 | 可输出资源文件模板 |
get | 查看资源对象的状态信息 | 常用参数: -o 显示格式 |
describe | 查询资源对象的属性信息 | |
logs | 查看容器的报错信息 | 常用参数: -c 容器名称 |
创建
# 创建名称空间资源对象
[root@master ~]# kubectl create namespace work
# 查看名称空间
[root@master ~]# kubectl get namespaces
# 创建简单 Pod 资源对象
[root@master ~]# kubectl -n work run myhttp --image=myos:httpd
# 查询资源对象
[root@master ~]# kubectl -n work get pods -o wide
# 访问验证
[root@master ~]# curl http://10.244.2.2
Welcome to The Apache.
get
# 查看 Pod 资源对象
[root@master ~]# kubectl get pods
# 只查看资源对象的名字
[root@master ~]# kubectl get pods -o name
# 查看资源对象运行节点的信息
[root@master ~]# kubectl get pods -o wide
# 查看资源对象详细信息,Yaml 格式
[root@master ~]# kubectl get pod myweb -o yaml
# 查看名称空间
[root@master ~]# kubectl get namespaces
或者kubectl get ns
# 查看 kube-system 名称空间中的 Pod 信息
[root@master ~]# kubectl -n kube-system get pods
describe
# 查看资源对象的属性信息
[root@master ~]# kubectl describe pod myweb
# 查看 work 名称空间下的 pod 信息
[root@master ~]# kubectl -n work describe pod myhttp
logs
# 访问服务,并查看日志
[root@master ~]# curl http://10.244.1.3/info.php
[root@master ~]# curl http://10.244.2.2/info.php
# 查看 myweb 日志
[root@master ~]# kubectl logs myweb
# 查看 myhttp 日志
[root@master ~]# kubectl -n work logs myhttp
Pod 管理命令(二)
子命令 | 说明 | 备注 |
---|---|---|
exec | 在某一个容器内执行特定的命令 | 可选参数: -c 容器名称 |
cp | 在容器和宿主机之间拷贝文件或目录 | 可选参数: -c 容器名称 |
delete | 删除资源对象 | 可选参数: -l 标签 |
exec
# 在容器内执行命令
[root@master ~]# kubectl exec myweb -- ls
[root@master ~]# kubectl exec -it myweb -- /bin/bash
[root@myweb html]# ifconfig eth0
cp
# 与容器进行文件或目录传输
[root@master ~]# kubectl cp myweb:/etc/yum.repos.d /root/aaa
[root@master ~]# tree /root/aaa
/root/aaa
├── local.repo
├── Rocky-AppStream.repo
├── Rocky-BaseOS.repo
└── Rocky-Extras.repo
[root@master ~]# kubectl -n work cp /etc/passwd myhttp:/root/mima
[root@master ~]# kubectl -n exec myweb -- ls /root/
delete
# 删除资源对象
[root@master ~]# kubectl delete pods myweb
# 删除 work 名称空间下所有 Pod 对象
[root@master ~]# kubectl -n work delete pods --all
# 删除名称空间
[root@master ~]# kubectl delete namespaces work
资源对象文件
资源文件管理命令
子命令 | 说明 | 备注 |
---|---|---|
create | 创建文件中定义的资源 | 支持指令式和资源对象文件配置 |
apply | 创建(更新)文件中定义的资源 | 只支持资源对象文件(声明式) |
delete | 删除文件中定义的资源 | 支持指令式和资源对象文件配置 |
create
# 创建资源对象
[root@master ~]# kubectl create -f myweb.yaml
# 不能更新,重复执行会报错
[root@master ~]# kubectl create -f myweb.yaml
apply
# 创建资源对象
[root@master ~]# kubectl apply -f myweb.yaml
# 更新资源对象
[root@master ~]# kubectl apply -f myweb.yaml
# 删除资源对象
[root@master ~]# kubectl delete -f myweb.yaml
# 拓展提高
# 与 kubectl apply -f myweb.yaml 功能相同
[root@master ~]# cat myweb.yaml | kubectl apply -f -
delete
# 使用资源对象文件删除
[root@master ~]# kubectl delete -f myhttp.yaml
[root@master ~]# kubectl get pods