基于 kubekey -实现懒人一键部署K8S集群

基于 kubekey -实现懒人一键部署K8S集群

操作步骤

官网: https://kubesphere.io/zh/

一、执行以下命令快速创建一个 Kubernetes 集群。
Master节点 如果您访问 GitHub/Googleapis 受限,请登录 Linux 主机,执行以下命令设置下载区域。
bash 复制代码
[root@test ~]# export KKZONE=cn
Master节点 执行以下命令安装⼯具 KubeKey。

下载完成后当前目录下将生成 KubeKey 二进制文件 kk。

bash 复制代码
[root@test ~]# curl -sfL https://get-kk.kubesphere.io | sh -
每一个节点都要 执行以下命令安装依赖项。
bash 复制代码
[root@test ~]# apt install socat conntrack -y
Master节点 执行以下命令快速创建一个 Kubernetes 集群。
  • 单节点k8s:

    bash 复制代码
    [root@test ~]#./kk create cluster --with-local-storage  --with-kubernetes v1.31.0 --container-manager containerd  -y
  • 集群模式:

    创建config模板:

    bash 复制代码
    [root@test ~]# ./kk create config 
    Generate KubeKey config file successfully
    [root@test ~]# 
    [root@test ~]# cat config-sample.yaml 
    apiVersion: kubekey.kubesphere.io/v1alpha2
    kind: Cluster
    metadata:
      name: sample
    spec:
      hosts:  		# 根据集群规模架构情况填写,我这里是 一主两从 架构
      - {name: k8s-master, address: 11.0.1.10, internalAddress: 11.0.1.10, user: root, password: "000000"}
      - {name: k8s-node01, address: 11.0.1.11, internalAddress: 11.0.1.11, user: root, password: "000000"}
      - {name: k8s-node02, address: 11.0.1.12, internalAddress: 11.0.1.12, user: root, password: "000000"}
      roleGroups:							# 填写对应的主机名称
        etcd:
        - k8s-master
        control-plane: 
        - k8s-master
        worker:
        - k8s-node01
        - k8s-node02
      controlPlaneEndpoint:
        ## Internal loadbalancer for apiservers 
        # internalLoadbalancer: haproxy		# 高可用架构 可以把这里打开,
    
        domain: lb.kubesphere.local
        address: ""
        port: 6443
      kubernetes:
        version: v1.31.0
        clusterName: cluster.local
        autoRenewCerts: true
        containerManager: docker
      etcd:
        type: kubekey
      network:
        plugin: calico
        kubePodsCIDR: 10.233.64.0/18		# 可以使用默认情况,也可以自定义,这里使用默认
        kubeServiceCIDR: 10.233.0.0/18			
        ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
        multusCNI:
          enabled: false
      registry:
        privateRegistry: ""
        namespaceOverride: ""
        registryMirrors: []
        insecureRegistries: []
      addons: []

    创建集群:

    bash 复制代码
    [root@test ~]#./kk create cluster ^C config-sample.yaml

    运行后会对安装依赖项进行检查

检查集群部署情况

提示: kubectl get pod -A 说明集群已部署完成

到此集群部署完毕

相关推荐
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS5 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun5 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
赵文宇(温玉)5 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang5 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren5 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
忆~遂愿6 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl6 天前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、6 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
ChaITSimpleLove6 天前
云原生性能对决:JDK21虚拟线程+GraalVM vs .NET10/11 技术栈深度对比
微服务·云原生·serverless·graalvm native·native aot·runtime async·.net11/java21