
k8s
文章平均质量分 72
一条闲鱼_mytube
这个作者很懒,什么都没留下…
展开
-
[Kubernetes] 7控制平面组件
保护好controller manager的kubeconfig:0。原创 2025-03-09 17:22:20 · 989 阅读 · 0 评论 -
[kubernetes]Kube-APIServer
定义groupGroupName定义groupversion定义SchemeBuildervar (将对象加入SchemeBuilderr!= nil {return err&Pod{},}}List单一对象数据结构• TypeMeta• Spec• Status。原创 2023-12-25 21:01:25 · 1270 阅读 · 0 评论 -
[kubernetes]控制平面ETCD
➢ 针对每一个object,apiserver和etcd之间的Connection -> stream 共享。对于每一个kubernetes Object,都有对应的storage.go 负责对象的存储操作。前者表示该group的watcher数据都已经同步完毕,在等待新的变更,后者表示该group的。etcd v3 的watch机制支持watch某个固定的key,也支持watch一个范围。• apiserver和etcd之间的通讯基于gRPC。• prevIndex:key当前赋值前的Index。原创 2023-12-23 16:57:12 · 1297 阅读 · 0 评论 -
[kubernetes]基于版本v1.28.5+containerd + helm 搭建集群
0 环境准备节点数量: 3 台虚拟机 centos7硬件配置: 2G或更多的RAM,2个CPU或更多的CPU,硬盘至少30G 以上网络要求: 多个节点之间网络互通,每个节点能访问外网1 集群规划k8s-node1:10.0.0.32k8s-node2:10.0.3.231k8s-node3:10.0.1.1492 设置主机名hostnamectl set-hostname k8s-node1 hostnamectl set-hostname k8s-node2hostname原创 2023-12-21 20:34:53 · 640 阅读 · 0 评论 -
[kubernetes]架构原则和对象设计
Pod 是一组紧密关联的容器集合,它们共享 PID、IPC、Network 和 UTS namespace,是 Kubernetes调度的基本单位Pod 的设计理念是支持多个容器在一个 Pod 中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务同一个 Pod 中的不同容器可共享资源:• 共享网络 Namespace;• 可通过挂载存储卷共享存储;• 共享 Security Context环境变量:• 直接设置值;原创 2023-12-20 17:19:56 · 1412 阅读 · 0 评论 -
[kubernetes]Docker 核心技术
当属于该 cgroup 的进程使用的内存超过最大的限定值时,这个限制并不会阻止进程使用超过限额的内存,只是在系统内存足够时,会优先回收超过限额的内存,使之向限定值靠拢。• 最新的 docker 只有 RUN, COPY,ADD 创建新层,其他指令创建临时层,不会增加镜像大小。如果设置为 -1,表示对该 cgroup 的内存使用不做限制。cgroup 下进程使用的内存,包含 cgroup 及其子 cgroup 下的进程使用的内存。cgroup 下进程使用内存的最大值,包含子 cgroup 的内存使用量。原创 2023-12-19 17:07:33 · 1125 阅读 · 0 评论 -
[k8s]helm使用
编写 namespace.yamlmetadata:name: {编写 deployment.ymlmetadata:labels:spec:template:metadata:labels:spec:ports:selector:编写 service.ymlmetadata:spec:selector:ports:编写chart.yamlname: app编写 values.yaml验证是否存在错误打包自定义 chart安装。原创 2023-08-15 18:47:38 · 732 阅读 · 1 评论 -
07k8s iptabel vs ipvs , coreDNS
图解[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYb9OOml-1629893539532)(https://user-images.githubusercontent.com/31843331/130706319-adcc4373-2ab2-45b3-989d-bbe6f5a85d24.png)]iptables 默认[root@k8s-master1 7]# iptables-save |grep nginx-nodeport//标记//出口流量-A原创 2021-08-25 20:12:38 · 185 阅读 · 0 评论 -
07 k8s-service的分类
service存在的意义防止Pod失联,准备找到提供同一个服务的定义一组Pod的访问策略(负载均衡)Pod与Service的关系Service通过标签关联一组PodService使用iptables或者ipvs为一组Pod提供负载均衡能力逻辑转发策略client->service->pod三种创建类型[root@k8s-master1 7]# kubectl expose deployment nginx --port=80 --target-port=8080原创 2021-08-24 23:32:41 · 85 阅读 · 0 评论 -
06 nodeName && daemonSet
NodeName不经过调度器, 忽略掉污点 约束即便node节点设置了污点,只要指定NodeName,会直接分配到节点上。yaml:apiVersion: v1kind: Podmetadata: labels: run: my-pod name: nodename-podspec: nodeName: "k8s-node2" containers: - image: nginx name: my-podkubectl describe node原创 2021-08-23 08:42:42 · 147 阅读 · 0 评论 -
06 k8s- taint && toleration
taint && toleration定义Taints:避免Pod调度到特定Node上Tolerations:允许Pod调度到持有Taints的Node上应用场景:专用节点:根据业务线将Node分组管理,希望在默认情况下不调度该节点,只有配置了污点容忍才允许分配配备特殊硬件:部分Node配有SSD硬盘、GPU,希望在默认情况下不调度该节点,只有配置了污点容忍才允许分配 • 基于Taint的驱逐第一步添加污点kubectl taint node k8s-node2原创 2021-08-22 18:44:42 · 214 阅读 · 0 评论 -
06 k8s- nodeselector && nodeAffinity
nodeselector && nodeAffinity示例:确保Pod分配到具有SSD硬盘的节点上打标签标签第一步:给节点添加标签格式:kubectl label nodes =例如:kubectl label nodes k8s-node1 disktype=ssd验证:kubectl get nodes --show-labels第二步:添加nodeSelector字段到Pod配置中最后,验证:kubectl get pods -o wide加sele原创 2021-08-22 15:36:54 · 231 阅读 · 0 评论 -
06 k8s- kubelete资源限制
kubelet没有容器化[root@k8s-master1 k8s]# ls /etc/kubernetes/manifests/etcd.yaml kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yaml[root@k8s-master1 k8s]# 静态pod创建命令kubectl run static-pod --image=nginx --dry-run=client -o yaml &g原创 2021-08-21 21:07:43 · 253 阅读 · 1 评论 -
06 K8S 一次排错calico网络-Readiness probe failed: caliconode is not ready: BIRD is not ready
K8S 一次排错calico网络现象[root@k8s-master1 k8s]# kubectl get pods -o wide -n kube-systemNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATEScalico-kube-controllers-78d6f原创 2021-08-19 23:50:27 · 1379 阅读 · 0 评论