KubeSphere - 使用 kubekey 搭建 k8s 集群 及 kubeSphere

Posted 小毕超

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KubeSphere - 使用 kubekey 搭建 k8s 集群 及 kubeSphere相关的知识,希望对你有一定的参考价值。

一、KubeSphere & kubekey

KubeSphere 是一款面向云原生设计的开源项目,在目前主流容器调度平台 Kubernetes 之 上构建的分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降 低用户使用容器调度平台学习成本的同时,极大降低开发、测试、运维的日常工作的复杂度。

kubeykeyKubeSphere基于Go 语言开发的kubernetes集群部署工具,使用 KubeKey,您可以轻松、高效、灵活地单独或整体安装 KubernetesKubeSphere

KubeKey可以用于以下三种安装场景:

仅安装 Kubernetes集群
使用一个命令安装 KubernetesKubeSphere
已有Kubernetes集群,使用ks-installer 在其上部署 KubeSphere

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

下面我们借助 KubeKey 同时安装 KubernetesKubeSphere

二、kubekey 搭建k8s 集群 及 kubeSphere

安装结构:

主机角色
192.168.216.142k8s-master,kubeSphere
192.168.216.143k8s-node1
192.168.216.144k8s-node2

1. 初始化环境

以下指令在所有节点操作:

  • 关闭防火墙

    临时

    systemctl stop firewalld        
    

    永久

    systemctl disable firewalld   	
    
  • 关闭selinux

    临时

    setenforce 0
    

    永久 需重启

    sed -i 's/enforcing/disabled/' /etc/selinux/config 
    
  • 关闭swap

    临时

    swapoff -a
    

    永久 需重启

    sed -ri 's/.*swap.*/#&/' /etc/fstab
    
  • 将桥接的IPv4流量传递到iptables的链

    cat > /etc/sysctl.d/k8s.conf << EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    

    生效

    sysctl --system  
    
  • 时间同步

    yum install ntpdate -y
    
    ntpdate time.windows.com
    
  • 安装Docker

    wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
    
    yum -y install docker-ce-18.06.1.ce-3.el7
    
    systemctl enable docker && systemctl start docker
    
    docker --version
    Docker version 18.06.1-ce, build e68fc7a
    

    配置阿里云加速镜像

    cat > /etc/docker/daemon.json << EOF
    
      "registry-mirrors": ["https://你的ID.mirror.aliyuncs.com"]
    
    EOF
    

    重启docker

    systemctl restart docker
    
  • 安装相关依赖

    yum install -y socat conntrack ebtables ipset
    

2. master节点安装 kubekey

以下指令在主节点操作即可:

wget https://github.com/kubesphere/kubekey/releases/download/v1.2.0-alpha.2/kubekey-v1.2.0-alpha.2-linux-amd64.tar.gz
tar -zxvf kubekey-v1.2.0-alpha.2-linux-amd64.tar.gz

如果访问不到github 下载不下来,可以使用下面指令:

export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.2.1 sh -

然后再将下载的文件移动到/usr/local/bin/下:

mv kk /usr/local/bin/

查看版本:

kk version

3. 创建并修改配置模板

使用 kk create config 即可创建一个模板,也可以在后面指定版本:

kk create config --with-kubernetes v1.20.4 --with-kubesphere v3.1.0

然后在当前目录就可以看到生成的配置文件:

修改 config-sample.yaml 文件:

对于k8s主要修改上面部分:

对于下方KubeSphere 的配置,由于现在是最小安装,基本都是false,没有开启,这个可以根据需求自己选择保留开启。

下面开始安装k8sKubeSphere

export KKZONE=cn
kk create cluster -f config-sample.yaml | tee kk.log


从上面可以看到kubekey ,依然还是使用kubeadm进行构建,但还多了样KubeSphere 的 helm 组件,等待下载编译完成,看下一下日志,就表示安装成功了:

安装完毕后,最好设置kubectl开机自启:

systemctl enable kubelet

从日志中就可以看到 KubeSphere 的地址,浏览器访问:http://192.168.216.142:30880,用户名和密码也在日志中:


第一次登陆会需要重置密码,填写后便进入了KubeSphere


在集群管理下的集群节点中,也可以看到我们的集群结构:

三、扩展

查看KubeSphere 的日志:

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='.items[0].metadata.name') -f

添加节点,在config-sample.yaml中继续添加新的节点:

kk add nodes -f config-sample.yaml

删除节点:

kk delete node <nodeName> -f config-sample.yaml

删除集群:

kk delete cluster -f config-sample.yaml

集群升级

kk upgrade [--with-kubernetes version] [--with-kubesphere version]
kk upgrade [--with-kubernetes version] [--with-kubesphere version] [(-f | --file) path]


喜欢的小伙伴可以关注我的个人微信公众号,获取更多学习资料!

以上是关于KubeSphere - 使用 kubekey 搭建 k8s 集群 及 kubeSphere的主要内容,如果未能解决你的问题,请参考以下文章

使用 KubeKey 快速离线部署 K8s 与 KubeSphere

KubeSphere - 使用 kubekey 搭建 k8s 集群 及 kubeSphere

Linux多节点使用KubeKey部署KubeSphere

使用kubekey的all-in-one安装K8S1.24及KubeSphere3.3

使用kubekey的all-in-one安装K8S1.24及KubeSphere3.3

使用kubekey的all-in-one安装K8S1.24及KubeSphere3.3