kubekey部署k8s

name ip
master 192.168.57.61
node1 192.168.57.76
[服务器配置]

master 安装需要2H4G 磁盘空间至少需要20G

node1 安装需要4H4G 磁盘空间至少需要50G

安装k8s环境依赖,在每台服务器执行以下命令

命令:yum install -y socat conntrack ebtables ipset

下载KubeKey工具

bash 复制代码
//导入环境变量
export KKZONE=cn
//下载kubekey
curl -sfL https://get-kk.kubesphere.io | sh -

这个环境变量决定下载的时候去哪里下,设置了cn之后就会去国内源里下载,比较快

关闭selinux,swap,防火墙

使用KubeKey生成一个k8s集群启动文件模板k8s.yaml

bash 复制代码
./kk create config --with-kubernetes v1.22.1 -f k8s.yaml

修改k8s集群启动文件模板

bash 复制代码
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  - {name: master, address: 192.168.57.61, internalAddress: 192.168.57.61, user: root, password: "chen"}
  - {name: node1, address: 192.168.57.76, internalAddress: 192.168.57.76, user: root, password: "chen"}
  roleGroups:
    etcd:
    - master
    control-plane: 
    - master
    worker:
    - master
    - node1
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers 
    # internalLoadbalancer: haproxy

    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.22.1
    clusterName: cluster.local
    autoRenewCerts: true
    containerManager: docker
  etcd:
    type: kubekey
  network:
    plugin: calico
    kubePodsCIDR: 192.168.57.0/24
    kubeServiceCIDR: 192.168.0.0/24
    ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
    multusCNI:
      enabled: false
  registry:
    privateRegistry: ""
    namespaceOverride: ""
    registryMirrors: []
    insecureRegistries: []
  addons: []

重点关注下两个参数

kubePodsCIDR: 192.168.57.0/24

kubeServiceCIDR: 192.168.0.0/24

kubeServiceCIDR 必须写x.x.0.0 不能写网段,不然网络插件就会出问题

安装K8S集群

bash 复制代码
./kk create cluster -f k8s.yaml

检查节点完成后会提示你 要不要开始安装

直接 yes即可

安装时间大概10多分钟(根据网络可能会慢或快)

验证k8s集群

安装完成执行

bash 复制代码
[root@master ~]# kubectl get nodes 
NAME     STATUS   ROLES                         AGE   VERSION
master   Ready    control-plane,master,worker   55m   v1.22.1
node1    Ready    worker                        55m   v1.22.1

两个节点的状态都 ready 就绪了

相关推荐
ulias2125 分钟前
Linux中的基本命令符
linux·运维·服务器
eRTE XFUN12 分钟前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker
江公望1 小时前
make modules_install和make install的区别
linux
HABuo1 小时前
【linux线程(二)】线程互斥、线程同步、条件变量详细剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
万象.1 小时前
Docker网络原理
网络·docker·容器
墨^O^1 小时前
进程与线程的核心区别及 Linux 启动全过程解析
linux·c++·笔记·学习
福楠1 小时前
现代C++ | C++14甜点特性
linux·c语言·开发语言·c++
Lugas Luo1 小时前
Kernel 5.10 针对 eMMC 的 Detect、Power、Add 及深度优化解析
linux·嵌入式硬件
charlie1145141911 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(4)从零构建 STM32 构建系统
linux·开发语言·c++·stm32·单片机·学习·嵌入式
春日见1 小时前
从底层思维3分钟彻底弄清卷积神经网络CNN
人工智能·深度学习·神经网络·计算机视觉·docker·cnn·计算机外设