Kubernetes学习指南:保姆级实操手册03——规划部署

一、部署节点规划

Hostname

ip

roles

k8s-master01

10.255.210.1

master

k8s-master02

10.255.210.2

master

k8s-master03

10.255.210.3

master

k8s-node01

10.255.210.4

worker node

k8s-node02

10.255.210.5

worker node

k8s-node03

10.255.210.6

worker node

apiserver.fq.com

10.255.210.99

负载均衡VIP

serviceSubnet

10.96.0.0/12

service网段

podSubnet

10.100.0.0/16

pod网段

管理节点(master)运行服务:etcd、kube-apiserver、kube-scheduler、kube-controller-manager、docker、kubelet、keepalived、haproxy 工作节点(worker node)运行服务:docker、kubelet、kube-proxy 扩展阅读:[[k8s master节点和worker 主要运行的软件]]

二、架构说明

kubernetes 架构图

Kubernetes学习指南:保姆级实操手册03——规划部署_linux

三、版本信息

软件版本

# 操作系统版本: 
$ hostnamectl
   Static hostname: k8s-master01
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 7be69544cd044123946847****992266
           Boot ID: 455261e9b8f64d378c94******efaf4
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 6.6.9-1.el7.elrepo.x86_64
      Architecture: x86-64
$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

# docker版本: 26.1.0
$ docker version
 docker version
Client: Docker Engine - Community
 Version:           26.1.0
 API version:       1.43 (downgraded from 1.45)
 Go version:        go1.21.9
 Git commit:        9714adc
 Built:             Mon Apr 22 17:09:57 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.9
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.13
  Git commit:       fca702d
  Built:            Thu Feb  1 00:50:53 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.31
  GitCommit:        e377cd56a71523140ca6ae87e30244719194a521
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0


# cri-dockerd版本: 0.3.13
$ cri-dockerd --version
cri-dockerd 0.3.13 (5aee623)


# kubeadm版本: v1.28.2
$ kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"28", GitVersion:"v1.28.2", GitCommit:"89a4ea3e1e4ddd7f7572286090359983e0387b2f", GitTreeState:"clean", BuildDate:"2023-09-13T09:34:32Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}

# kubernetes版本: v1.28.0
$  kubectl get node
NAME           STATUS   ROLES           AGE   VERSION
k8s-master01   Ready    control-plane   64d   v1.28.2
k8s-master02   Ready    control-plane   64d   v1.28.2
k8s-master03   Ready    control-plane   64d   v1.28.2
k8s-node01     Ready    <none>          64d   v1.28.2
k8s-node02     Ready    <none>          64d   v1.28.2
k8s-node03     Ready    <none>          64d   v1.28.2
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.