💠

💠 2024-09-06 11:36:43


Kubernetes

Official site | Github | 中文文档

kwok 模拟 K8s 集群的工具。它可以在几秒钟内搭建一个由数千个节点组成的 Kubernetes 集群

相关博客

浅谈 k8s+docker 资源监控 | 基于 Kubernetes 构建 Docker 集群管理详解
Kubernetes 学习笔记
Kubernetes 中文社区
Kubernetes 使用教程

参考: Kubernetes 会不会被自身的复杂性压垮?
参考: 一文带你看透 kubernetes 容器编排系统

安装

official doc

参考: kubeadm 搭建 kubernetes 集群
参考: Kubernetes 国内镜像、下载安装包和拉取 gcr.io 镜像
参考: 国内服务器安装 kubernetes 一路坑,求大神指点

  • 注意 Deepin 上不要安装 kubernetes-client 这个是 1.7 版本, 类似于 docker.io 这样的老旧版本

使用阿里云的镜像进行安装

1
2
3
4
5
    # 均以 root 运行
    apt update && apt install -y apt-transport-https
    curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
    echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list
    apt install kubelet kubeadm kubectl

deb http://apt.kubernetes.io/ kubernetes-xenial main 虽然这才是官方源,奈何是 Google 服务器


minikube

minikube


使用

大多数命令和 Docker 是类似的,只不过加上了 namespace 的概念

  • 查看日志: kubectl logs –namespace namespace pod

Java client for Kubernetes

网络

Kubernetes 疑难杂症排查分享:神秘的溢出与丢包

实践

Pod调度资源倾斜

结论:pod尽量按过往监控的情况设置合理的 requests 和 limits, 如果仍有明显的倾斜,可以配置节点亲和 nodeAffinity

例如如下配置只会将pod调度到03和04两个Node上, 对应于Kuboard的操作路径为 高级设置 -> 节点调度策略 -> 根据【节点亲和性】选择节点 -> 选择标签和值

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                  - key: kubernetes.io/hostname
                    operator: In
                    values:
                      - node03
                      - node04

安全

从零开始的Kubernetes攻防