K8S学习基础

----------------------【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.27.0版本

参考链接地址

master节点:

1: etcd,一种的分布式存储机制,底层采用 Raft 协议,k8s 集群的状态数据包括配置、节点等都存储于 etcd 中,它保存了整个集群的状态。
2:API server,对外提供操作和获取 k8s 集群资源的的 API,是唯一操作 etcd 的组件,其他的组件包括管理员操作都是通过 API server 进行交互的,可以将它理解成 etcd 的 “代理人”。
3:Scheduler,在 k8s 集群中做调动决策,负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上。
4: Controller Manager,相当于集群状态的协调者,观察着集群的实际状态,与 etcd 中的预期状态进行对比,如果不一致则对资源进行协调操作让实际状态和预期状态达到最终的一致,维护集群的状态,比如故障检测、自动扩展、滚动更新等。

worker 节点由以下组件组成

1:Controller Runtime,下载镜像和运行容器的组件,负责镜像管理以及 Pod 和容器的真正运行(CRI)。
2: Pod,k8s 中特有的一个概念,可以理解为对容器的包装,是 k8s 的基本调度单位,实际的容器时运行在 Pod 中的,一个节点可以启动一个或多个 Pod。
3:kubelet,负责管理 worker 节点上的组件,与 master 节点上的 API server 节点进行交互,接受指令执行操作。
4: kube-proxy,负责对 Pod 进行寻址和负载均衡

在这里插入图片描述
常用命令:

查看集群所有节点: kubectl get nodes

根据配置文件,给集群创建资源:kubectl apply -f xxx.yaml

查看集群部署了那些应用?
docker ps ===kubectl get pods -A //docker中叫容器 k8s中叫pod

查看在运行中的服务:kubectl get ing -A

查看所有namespace(命名空间):kubectl get namesapce|kubectl get ns

指定命名空间:kubectl get ns nacos
查看你ns详情:kubectl describe ns default
创建namespace :kubectl create ns dev-test
删除namespace:kubectl delete ns dev-test
根据配置文件创建删除:kubectl create -f dev-test.yaml
查看系统pod:kubectl get pod -n kube-system
查看所有pod:kubectl get pod
查看某一个pod:kubectl get pod pod_name
查看pod详细信息:kubectl describe pod nginx-333-xsfd -n dev
查看pod,以yaml格式展示结果:kubectl get pod pod_name -o yaml
查看pod所在IP(集群内IP):kubectl get pods -n dev -o wide
删除pod:kubectl delete pod nginx-xxdd -n dev
通过配置文件启动pod:kubectl create -f dev-pod.yaml ||删除 kubectl delete -f dev-pod.yaml
控制器(deployment):创建三个pod :
在这里插入图片描述
查看创建的pod:kubectl get pods -n dev
查看命名空间:kubectl get ns
查看所有应用:kubectl get pod -A || kubectl get pod -n 名字
创建应用不指定命名空间,默认存在default中
创建命名空间:kubectl create ns hello
删除命名空间:kubectl delete ns hello
查看pod的描述:kubectl describe pod 名字
删除pod:kubectl delete pod 名字 -n 名称空间名(default不用写)
查看pod启动日志:kubect logs -f(追踪) 名字
每个pod -k8s都会分配一个ip :kubectl get pod -owide 使用pod的ip+pod里面运行容器的端口
curl ip+端口
进入pod内部:kubectl exec -it 名字 – /bin/bash
用deployment进行部署:(自愈能力与故障转移都是为了保证副本的数量)kubectl create deployment mytomcat --image=tomcat:8.5.68
获取deployment:kubectl get deploy
删除deploy: kubectl delete deploy mytomcat
多副本能力:kubectl create deployment my-dep --image=nginx --replicas=3
扩缩容能力都用这一个:kubectl scale --replicas=5 deploment/my-dep ||kubectl ecid deployment my-dep
查看整个状态变化过程:watch -n 1 kubectl get pod
滚动更新:kubectl set image deployment/my-dep nignx=nginx:1.2 --record
查看yeaml: kubectl get deploy/my-dep -oyaml |grep image
版本历史记录:kubectl rollout history deployment/my-dep
查看历史详情: kubectl rollout history deployment/my-dep --revision=2
回滚到上次:kubectl rollout undo deployment/my-dep
回滚指定版本: kubectl rollout undo deployment/my-dep --to-revision=2
工作负载均衡在这里插入图片描述在这里插入图片描述
查看pod详细信息:kubectl get pod -owide
linux中访问地址:curl ip+端口

Service 服务网格(将一组pod公开为网络服务的抽象方法)【服务发现与负载均衡】

1:负载均衡:【域名只能在内部访问,ip不用】
暴漏service:kubectl expose deployment my-dep --port=8000 --target-port=80
获取sevice的ip: kubectl get service {ip和域名都可以使用}在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
获取服务:kubectl get svc(sevice)
---------------------集群外可以访问
在这里插入图片描述

Ingress(总网关)

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值