Kubernetes 配置语言 KCL

什么是 KCL KCL 是一个开源的基于约束的记录及函数语言,期望通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于围绕配置的模块化、扩展性和稳定性,打造更简单的逻辑编写体验,构建更简单的自动化和生态集成路径。 项目主要里程碑如下: 2022 年 5 月,KCL 由蚂蚁集团发起,正式开源 2023 年 6 月,KCL 正式成为 CNCF Lan

node节点的pod数量限制

默认为110个,可以修改配置文件。 vim /var/lib/kubelet/config.yaml maxPods: 200 #停止kubelet systemctl stop kubelet #重新载入systemd systemctl daemon-reload #启动kubelet systemctl start kubelet  

NodePort的端口范围(修改)

NodePort的端口范围 默认范围为30000-32767,可以修改 vim /etc/kubernetes/manifests/kube-apiserver.yaml 添加一行 - --service-node-port-range=1-65535 kubelet监控/etc/kubernetes/manifests/* ,会自动触发更新。

k8s版本变化

v1.29 Service的负载均衡IP模式(Alpha) 在Kubernetes1.29版本,Service的负载均衡IP模式以Alpha版本正式发布。其在Service的status中新增字段ipMode,用于配置集群内Service到Pod的流量转发模式。当设置为VIP时,目的地址为负载均衡IP和端口的流量将由kube-proxy重定向到目标节点,当设置为Proxy时,流量将被发送到负载均衡

kubeadm-join

###注意--print-join-command,可以直接打印出kubeadm join信息 # kubeadm token create --print-join-command   # join加入 # kubeadm reset # systemctl stop ku

HPA

HorizontalPodAutoscaler 先决条件 必须安装 metrics-server 必须定义 Request参数   v1 apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: hpa_name spec: maxReplicas: 5 minReplicas: 2 scaleTar

comfigmap热更新

如果ConfigMap和Secret是以subPath的形式挂载的,那么Pod是不会感知到ConfigMap和Secret的更新的。 如果Pod的变量来自于ConfigMap和Secret中定义的内容,那么ConfigMap和Secret更新后,也不会更新Pod中的变量。 postStart:容器启动之前执行的命令 preStop:容器停止之前执行的命令 热更新ConfigMap或Secret:

configmap解决subPath目录覆盖的问题

apiVersion: apps/v1 kind: Deployment metadata: labels: app: demo-nginx name: demo-nginx spec: replicas: 2 selector: matchLabels: app: demo-nginx template: metadata: labels: app: demo-nginx spec: conta

configmap创建

1.利用直接值创建 kubectl create configmap configmap_name --from-literal=key-name=value 2.基于文件创建 kubectl create configmap configmap_name --from-file=file_name 3.基于目录创建 kubectl create configmap configmap_name

Affinity

Affinity亲和力   NodeAffinity:节点亲和力 PreferredDuringSchedulingIgnoredDuringExecution:软亲和力,尽量部署在满足条件的节点上,或者是尽量不要部署在被匹配的节点。 apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy-with-node-a

kubectl使用技巧

kubectl技巧 资源类型 下表列出的是 kubernetes 中所有支持的类型和缩写的别名。 资源类型 缩写别名 clusters componentstatuses cs configmaps cm daemonsets ds deployments deploy endpoints ep event ev horizontalpodautoscalers hpa ingresses ing

k8s简介

Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S。K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久。K8S主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务