通过kk部署k8s和KubeSphere

通过kk部署k8sp

这里先说一下,以下都是我从 https://www.kubesphere.io/zh/ 的中文文档里抄的, 只是有些文档写法和步骤和我个人步骤不和谐,仅仅只是做了个整改. 如果想看原版,直接去KubeSphere 的中文文档即可.

环境准备

主机名 IP CPU 内存 系统盘 数据盘 用途
node101 192.168.10.101 4 8 40 40 离线环境 k8s-control-plane
node102 192.168.10.102 4 8 40 40 离线环境 k8s-control-plane
node103 192.168.10.103 4 8 40 40 离线环境 k8s-control-plane
node104 192.168.10.104 4 8 40 40 镜像仓库节点+联网主机制作离线包

实战环境涉及软件版本信息

  • 操作系统:CentOS7.9
  • Kubernetes:v1.28.8
  • KubeKey: v3.1.1

1. 制作离线部署资源

本文在node104进行离线资源部署和制作, 并再利用其制作离线仓库,在该节点下载 KubeKey 最新版(v3.1.1),用来制作离线部署资源包。

1.1 下载 KubeKey

  • 下载最新版的 KubeKey
mkdir -p /data/kubekey
cd /data/kubekey

# 选择中文区下载(访问 GitHub 受限时使用)
export KKZONE=cn

# 执行下载命令,获取最新版的 kk(受限于网络,有时需要执行多次)
curl -L https://get-kk.kubesphere.io | sh -
# 也可以使用下面的命令指定具体版本
curl -sfL https://get-kk.kubesphere.io | VERSION=v3.1.1 sh -

1.2 创建 manifests 模板文件

KubeKey v3.1.0 之前, manifests 文件需要根据模板手动编写, 现在可以通过 Kubekey 的 create manifest 命令自动生成 manifests 模板。

  1. create manifest 支持的参数如下
$ ./kk create manifest --help
Create an offline installation package configuration file

Usage:
  kk create manifest [flags]

Flags:
      --arch stringArray         Specify a supported arch (default [amd64])
      --debug                    Print detailed information
  -f, --filename string          Specify a manifest file path
  -h, --help                     help for manifest
      --ignore-err               Ignore the error message, remove the host which reported error and force to continue
      --kubeconfig string        Specify a kubeconfig file
      --name string              Specify a name of manifest object (default "sample")
      --namespace string         KubeKey namespace to use (default "kubekey-system")
      --with-kubernetes string   Specify a supported version of kubernetes
      --with-registry            Specify a supported registry components
  -y, --yes                      Skip confirm check

官方示例(支持多集群、多架构)[示例]

# 示例:创建包含 kubernetes v1.24.17,v1.25.16,且 cpu 架构为 amd64、arm64 的 manifests 文件。
./kk create manifest --with-kubernetes v1.24.17,v1.25.16 --arch amd64 --arch arm64
  1. 创建一个 amd64 架构 kubernetes v1.28.8 的 manifests 文件 , 自动生成后自己改名为ksp-v3.4.1-v1.28.8-manifest.yaml
./kk create manifest --name opsxlab --with-kubernetes v1.28.8 --arch amd64 --with-registry "docker registry"
  1. 修改后的配置文件,最终的 manifest 文件 ksp-v3.4.1-v1.28.8-manifest.yaml

    apiVersion: kubekey.kubesphere.io/v1alpha2
    kind: Manifest
    metadata:
      name: sample
    spec:
      arches:
      - amd64
      operatingSystems:
      - arch: amd64
        type: linux
        id: centos
        version: "7"
        osImage: CentOS Linux 7 (Core)
        repository:
          iso:
            localPath: "/data/kubekey/centos7-rpms-amd64.iso"
            url:
      kubernetesDistributions:
      - type: kubernetes
        version: v1.28.8
      components:
        helm:
          version: v3.14.3
        cni:
          version: v1.2.0
        etcd:
          version: v3.5.13
        containerRuntimes:
        - type: docker
          version: 24.0.9
        - type: containerd
          version: 1.7.13
        calicoctl:
          version: v3.27.3
        crictl:
          version: v1.29.0
        docker-registry:
          version: "2"
        harbor:
          version: v2.5.3
        docker-compose:
          version: v2.2.2
      images:
      - registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.9
      - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-apiserver:v1.28.8
      - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controller-manager:v1.28.8
      - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-scheduler:v1.28.8
      - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy:v1.28.8
      - registry.cn-beijing.aliyuncs.com/kubesphereio/coredns:1.9.3
      - registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache:1.22.20
      - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controllers:v3.27.3
      - registry.cn-beijing.aliyuncs.com/kubesphereio/cni:v3.27.3
      - registry.cn-beijing.aliyuncs.com/kubesphereio/node:v3.27.3
      - registry.cn-beijing.aliyuncs.com/kubesphereio/pod2daemon-flexvol:v3.27.3
      - registry.cn-beijing.aliyuncs.com/kubesphereio/typha:v3.27.3
      - registry.cn-beijing.aliyuncs.com/kubesphereio/flannel:v0.21.3
      - registry.cn-beijing.aliyuncs.com/kubesphereio/flannel-cni-plugin:v1.1.2
      - registry.cn-beijing.aliyuncs.com/kubesphereio/hybridnet:v0.8.6
      - registry.cn-beijing.aliyuncs.com/kubesphereio/multus-cni:v3.8
      - registry.cn-beijing.aliyuncs.com/kubesphereio/provisioner-localpv:3.3.0
      - registry.cn-beijing.aliyuncs.com/kubesphereio/linux-utils:3.3.0
      - registry.cn-beijing.aliyuncs.com/kubesphereio/haproxy:2.9.6-alpine
      - registry.cn-beijing.aliyuncs.com/kubesphereio/node-feature-discovery:v0.10.0
      - registry.cn-beijing.aliyuncs.com/kubesphereio/ks-installer:v3.4.1
      - registry.cn-beijing.aliyuncs.com/kubesphereio/ks-apiserver:v3.4.1
      - registry.cn-beijing.aliyuncs.com/kubesphereio/ks-console:v3.4.1
      - registry.cn-beijing.aliyuncs.com/kubesphereio/ks-controller-manager:v3.4.1
      - registry.cn-beijing.aliyuncs.com/kubesphereio/kubectl:v1.20.0
      - registry.cn-beijing.aliyuncs.com/kubesphereio/kubectl:v1.22.0
      - registry.cn-beijing.aliyuncs.com/kubesphereio/kubefed:v0.8.1
      - registry.cn-beijing.aliyuncs.com/kubesphereio/tower:v0.2.1
      - registry.cn-beijing.aliyuncs.com/kubesphereio/minio:RELEASE.2019-08-07T01-59-21Z
      - registry.cn-beijing.aliyuncs.com/kubesphereio/mc:RELEASE.2019-08-07T23-14-43Z
      - registry.cn-beijing.aliyuncs.com/kubesphereio/snapshot-controller:v4.0.0
      - registry.cn-beijing.aliyuncs.com/kubesphereio/nginx-ingress-controller:v1.3.1
      - registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64:1.4
      - registry.cn-beijing.aliyuncs.com/kubesphereio/metrics-server:v0.4.2
      - registry.cn-beijing.aliyuncs.com/kubesphereio/redis:5.0.14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值