侧边栏壁纸
博主头像
小周的知识站 博主等级

行动起来,活在当下

  • 累计撰写 80 篇文章
  • 累计创建 12 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录
K8S

K8S资源管理方式介绍

Administrator
2024-07-15 / 0 评论 / 0 点赞 / 7 阅读 / 0 字

K8S资源管理方式介绍

kubernetes的本质就是一个集群系统,用户可以在集群中部署各种服务,所谓部署服务就是在kubernetes集群中运行一个一个的容器,并将指定的程序跑在容器中


在kubernetes中,所有内容都被抽象为资源对象,学习kubernetes主要学习如何管理资源对象

所有资源可通过下面命令进行查看

kubectl api-resources

1 K8S资源类型介绍

资源名称

缩写

资源作用

nodes

no

集群组成部分

namespaces

ns

隔离pod

pods

po,pod

装载容器

replicationcontrollers

rc

控制pod资源

replicasets

rs

控制pod资源

deployments

deploy

控制pod资源

daemonsets

ds

控制pod资源

jobs

控制pod资源

cronjobs

cj

控制pod资源

horizontalpodautoscalers

hpa

控制pod资源

statefulsets

sts

控制pod资源

services

svc

统一pod对外接口

ingress

ing

统一pod对外接口

volumeattachments

存储资源

persistentvolumes

pv

存储资源

persistentvolumeclaims

pvc

存储资源

configmaps

cm

配置资源

secrets

配置资源

2 k8s集群管理方式介绍

直接使用kubectl命令去管理k8s集群

kubectl run nginx-pod --image=nginx:1.17.4 --port=80

将配置写入到yaml文件,通过文件去管理k8s集群

kubectl create/patch -f nginx-pod.yaml

3 kubectl命令介绍

kubectl命令:是kubernetes集群的命令行工具,通过它能过够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。

获取命令帮助
kubectl --help


kubectl常用命令如下

命令

作用

create

创建一个资源

edit

编辑一个资源

get

获取一个资源

patch

更新一个资源

delete

删除一个资源

explain

展示资源文档

run

在集群中运行一个指定的镜像

expose

暴露资源为service

describe

显示资源内部信息

logs

输出容器在pod中的日志

attach

进入运行中的容器

exec

执行容器中的一个命令

cp

在pod内外复制文件

rollout

管理资源的发布

scale

扩(缩)容pod的数量

autoscale

自动调整pod的数量

apply

通过文件对资源进行配置

label

更新资源上的标签

cluster-info

显示集群信息

version

显示当前Server和Client版本信息

命令格式:kubectl [command] [type] [name] [flags]

  • command:指定要对资源执行的操作,例如:create、get、delete

  • type:指定资源类型,例如:deployment、pod、service

  • name:指定资源名称,名称区分大小写

  • flags:指定额外的可选参数


4 kubectl命令练习

资源名称

缩写

资源作用

pods

po

装载容器

查看所有pod
# kubectl get pod

查看指定的pod(根据pod名字查找)
# kubectl get pod nginx-696649f6f9-g5nds

查看指定pod,通过额外参数显示pod详细信息,包括pod的IP地址,pod运行的节点等
# kubectl get pod nginx-696649f6f9-g5nds -o wide

查看指定pod,通过额外参数显示pod信息,以json格式显示
# kubectl get pod nginx-696649f6f9-g5nds -o json

查看指定pod,通过额外参数显示pod信息,以yaml格式显示
# kubectl get pod nginx-696649f6f9-g5nds -o yaml

显示指定pod资源内部信息
# kubectl describe pod nginx-696649f6f9-g5nds

显示当前Server和Client版本信息
# kubectl version

显示集群信息
# kubectl cluster-info

5 kubectl命令补齐

yum install -y bash-completion

source /usr/share/bash-completion/bash_completion

source <(kubectl completion bash)

kubectl completion bash > ~/.kube/completion.bash.inc

source '/root/.kube/completion.bash.inc'  

source $HOME/.bash_profile

扩展:如果在node节点需要使用kubectl命令需要执行如下操作

#将master节点上的.kube目录复制到node节点上,该目录在root用户家目录下
# scp -r /root/.kube worker01:/root
​
#node1节点验证
[root@node1 ~]# kubectl get nodes
NAME     STATUS   ROLES    AGE     VERSION
master   Ready    master   4d23h   v1.17.4
node1    Ready    <none>   4d23h   v1.17.4
node2    Ready    <none>   4d23h   v1.17.4
​

0
K8S
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区