KubeCon2020/腾讯会议大规模使用Kubernetes的技术实践
Online Services NodeProblemDetector Dynamic Scheduler DynamicQuotaManager MultiClusterManager De-Scheduler Rosource Manage & Schedule Ceres Job Queue Manager Spark-Operator OfflineJobs Scheduler CLB, etc.) 0 n-1 … StatefulSetPlus ordinal Service (Kube-proxy, CLB, etc.) 0 n-1 … ordinal 1/2 Service (Kube-proxy, CLB, etc.) 0 n-1 … ordinal Service (Kube-proxy, CLB, etc.) 0 n-1 … StatefulSetPlus Kube-apiserver Pod Pod NodeResourceUsage Annotator Patch node history reource usage annotation NPD & de-scheduler Ø NOde Problem Detector (NPD) • FDPressure • CustomPIDPressure • ThreadPressure • KubeletProblem0 码力 | 19 页 | 10.94 MB | 1 年前3绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能
chain • Pros • Iptables is widely adopted in popular Linux distributions • Cons • O(N^2) in control plane / O(N) in data plane • Poor in scheduling algorithm • Iptables rules are difficult to debug from local-in to PREROUTING • The challenges • Skb’s pointer to route is NULL during PREROUTING • No de-fragment is done during PREROUTING IPVS bypass conntrack (con.) • Egress • Original way • Nf local-out SNAT in TC egress • Do reverse SNAT in TC ingress Tc egress Hit eBPF map? Does SNAT nic nic Y N • How IPVS talks with eBPF program? • eBPF map id is passed to IPVS module • Ip_vs_new_conn() inserts0 码力 | 24 页 | 1.90 MB | 1 年前3Kubernetes开源书 - 周立
标识和稳定的存储。 身份会绑定到Pod(具有粘 性),不管Pod被调度到哪个Node上。 Ordinal Index(有序的索引) 对于⼀个有N个副本的StatefulSet,StatefulSet中的每个Pod将被分配⼀个整数序号,范围[0,N),并且唯⼀。 Stable Network ID(稳定的⽹络ID) StatefulSet中的每个Pod,从StatefulSet的名称和Pod的序数派⽣其主机名。 default/web nginx.default.svc.cluster.local web-{0..N- 1}.nginx.default.svc.cluster.local cluster.local foo/nginx foo/web nginx.foo.svc.cluster.local web-{0..N- 1}.nginx.foo.svc.cluster.local kube.local foo/nginx foo/nginx foo/web nginx.foo.svc.kube.local web-{0..N- 1}.nginx.foo.svc.kube.local 请注意,除⾮ otherwise configured ,Cluster Domain将被设为 cluster.local 。 Stable Storage(稳定的存储) Kubernetes为每个VolumeClaimTemplate创建⼀个0 码力 | 135 页 | 21.02 MB | 1 年前3Advancing the Tactical Edge with K3s and SUSE RGS
in association with the U.S. Department of Defense to drive open source innovation into strategic de- fense initiatives. The company is delivering technology solutions that give warfight- ers the information0 码力 | 8 页 | 888.26 KB | 1 年前3第29 期| 2023 年9 月- 技术雷达
Hoenig Selvakumar Natesan Shangqi Liu Sofia Tania Vanya Seth Bharani Subramaniam Fausto de la Torre Mike Mason Maya Ormaza Birgitta Böckeler Hao Xu Neal Ford Pawan Shah Brandon Byars Ian0 码力 | 43 页 | 2.76 MB | 1 年前3k8s操作手册 2.3
registry.k8s.io/etcd:3.5.9-0 registry.k8s.io/coredns/coredns:v1.10.1 #可以先下载以上7个镜像,传到每台k8s服务器上,再ctr -n k8s.io images import导入;或者使用内部registry仓库(内部registry镜像仓库里要有以上7个镜 像) ★直接使用命令行方式初始化集群 (以下是非HA模式 # kubeadm config images pull --image-repository="cof-lee.com:5443/k8s" #提前 下载需要的镜像 # ctr -n k8s.io image ls #查看下载的镜像,k8s默认使用k8s.io的命名 空间 # kubeadm init --config /etc/kubeadm-init #查看crictl版本 crictl version v1.28.0 # crictl images #查看底层镜像,同ctr -n k8s.io images ls WARN[0000] image connect using default endpoints: [unix:///var/run/dockershim0 码力 | 126 页 | 4.33 MB | 1 年前3⾸云容器产品Kubernetes操作指南
IP的Service)来实现,即Pod重新调度后 其PodName和HostName不变 有序部署,有序扩 展 即Pod是有顺序的,在部署或者扩展的时候要依据定义的顺序依次依次进⾏(即从 0到N-1,在下⼀个Pod运⾏之前所有之前的Pod必须都是Running和Ready状 态),基于init containers来实现 33 b) 设置应⽤名称、集群 、命名空间、副本数量(即应⽤包含的 可查看或者编辑 当前应⽤的yaml⽂件 在节点列表进⼊master控制台可查看 1. 输⼊命令 kubectl get pods -n test 2. 输⼊命令 kubectl --namespace=test exec -it nginx-6b9966bb86-p6n82 sh 进⼊容器 72 可以看到容器内成功创建hello⽬录 创建 StorageClass 创建命令 1 $ create secret generic mysql-pass --from-literal=password=-n 检查创建结果 1 $ kubectl get secret -n wordpress 2 NAME TYPE DATA 0 码力 | 94 页 | 9.98 MB | 1 年前3张海宁:使用Kubernetes部署超级账本Fabric
NodePort – LoadBalancer • 服务发现 – DNS – 环境变量 25 Worker Node Service Pod 1 Pod 2 Pod N Node IP: 192.168.10.10 IP: 10.2.3.14 DNS: service1.cluster.local Port: 9443 NodePort: 31233 Kafka N Pod service zookeeper0 Pod service ZookeeperN Pod service SACC2017 37 整体架构 SACC2017 • 在K8s集群外能访问到Fabric中的各个服务 • CA、peer和Orderer的service类型定义为NodePort, • 端口映射规则如下(N和M的范围分别为N>=1 端口映射规则如下(N和M的范围分别为N>=1,M>=0): – 组织orgN端口范围:30000+(N-1)*100 ~ 30000+(N)*100-1 – CA服务的映射关系:ca.orgN:7054 -> worker:30000+(N-1)*100 – 每个peer需要映射7051和7052两个端口,映射关系如下: peerM.orgN:7051 -> worker:30000+(N-1)*1000 码力 | 45 页 | 2.70 MB | 1 年前3K8S安装部署开放服务
fdisk /dev/sdb 依法选择 n,p,1,t,l,8e,w fdisk –l pvcreate /dev/sdb1 vgdisplay vgextend centos /dev/sdb1 vgdisplay lvcreate -l 100%free -n docker centos lvdisplay mkfs.xfs -n ftype=1 /dev/mapper/centos-docker kubectl apply –f nodeport.yaml Step3: 获取 k8s dashboard 的登录 token kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') es/ceph/cluster.yaml kubectl apply -f common.yaml kubectl apply -f operator.yaml kubectl -n rook-ceph get all vi cluster.yaml mon: count: 3 allowMultiplePerNode: false0 码力 | 54 页 | 1.23 MB | 1 年前3运维上海2017-Kubernetes 在大规模场景下的service性能优化实战 - 杜军
IPVS��Service���� Iptables vs. IPVS Kubernetes�Service ����onl��a�o� - ��������������t� - ���������� - �����IP�n������� - �������� - ��������� Kubernetes Service�Endpoints Label Selector Label: app=backend IP: IPVS Iptables�������� • �B������ KUBE-SERVICES������KUBE-SVC-*������service��������� ��������O(N) • �B���� ���� • ���� �������iptables�������/�������kernel lock Another app is currently holding Usage 1000 386 MB 1.1 G 5000 N/A 1.9 G 10000 542 MB 2.3 G 15000 N/A OOM 50000 1272 MB OOM CPU Usage 1000 0% N/A 5000 50% - 85% 10000 50%-100% 15000 N/A 50000 N/A Iptables vs. IPVS • Iptables0 码力 | 38 页 | 3.39 MB | 1 年前3
共 33 条
- 1
- 2
- 3
- 4