文章目录
一、k8s基础组件
Master节点:
1.API Server:集群的统一入口
2.Controller Manager:负责维护集群的状态
3.Scheduler:负责集群中资源调度
3.etcd:负责存储集群中各种资源信息
Worker节点:
1.kubelet:让·容器运行·时创建容器,每个节点上都有kubelet;负责维护容器的生命令周期
2.kube-proxy:负责提供集群内容的服务发现和负载均衡
3.Container Runtime:容器运行时;如Docker、Containerd(k8s1.24之后)
Add-ons附件:
1.coredns/kube-dns
2.Ingress controller
3.Dashboard:可视化管理界面
4.flannel:网络插件
二、使用kubeadm部署k8s
k8s的客户端管理工具:kubectl
关闭swap交换分区,因为磁盘做缓存时延迟高,所以最好直接使用内存。
初始化master节点:kubeadm init ......
安装网络插件:flannel
将worker节点加入master:kubeadm join......
三、k8s客户端管理工具:kubectl
1.node节点管理
bash
# 查看每个节点信息
kubectl get node
# 查看命名空间
kubectl get ns
# 查看default命名空间下的pod资源
kubectl get pod
# -A:查看所有pod
# -o wide:查看资源详细信息
# 查看集群信息
kubectl cluster-info
# 查看master节点详细信息
kubectl describe node master
# 查看节点标签
kubectl get node --show-labels
# 为master节点加标签
kubectl label node master region=beijing
# 去除region标签;标签中尽量不要有减号
kubectl label node master region-
# 标签选择器
kubectl get node --show-labels -l 标签
# 筛选多个标签
kubectl get node -l "business in (game,ad)"
2.创建资源
bash
# 查看集群各种资源信息
kubectl api-resources
# 查看容器详细信息
kubectl describe pod 容器名 -n namespace
# 删除u容器
kubectl delete pod 容器名 -n namespace
# 根据配置文件创建资源
kubectl create -f yaml文件
# 查看创建的资源
kubectl get -f yaml文件
# 删除创建的自研
kubectl delete -f yaml文件 --force
# 声明式对象配置:apply,自资源不存在就创建,存在就更新;apply会记录历史数据,存放到注解中
# 创建资源
kubectl apply -f yaml文件
# 在线在线编辑资源
kubectl edit pod 容器 -n namespace
# 以yaml格式查看pod资源
kubectl get pod 容器名 -n namespace -o yaml
3.pod控制器:deployment
bash
# 弹性扩容
kubectl scale deploy 名称 --replicas=3 -n namespace
