KubeSphere - 使用 kubekey 搭建 k8s 集群 及 kubeSphere
一、kubekeykubeykey是KubeSphere基于Go 语言开发的kubernetes集群部署工具,使用 KubeKey,您可以轻松、高效、灵活地单独或整体安装 Kubernetes 和KubeSphere。KubeKey可以用于以下三种安装场景:仅安装 Kubernetes集群使用一个命令安装 Kubernetes 和 KubeSphere已有Kubernetes集群,使用ks-ins
一、KubeSphere & kubekey
KubeSphere
是一款面向云原生设计的开源项目,在目前主流容器调度平台 Kubernetes
之 上构建的分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降 低用户使用容器调度平台学习成本的同时,极大降低开发、测试、运维的日常工作的复杂度。
kubeykey
是KubeSphere
基于Go 语言开发的kubernetes
集群部署工具,使用 KubeKey
,您可以轻松、高效、灵活地单独或整体安装 Kubernetes
和KubeSphere
。
KubeKey
可以用于以下三种安装场景:
仅安装 Kubernetes
集群
使用一个命令安装 Kubernetes
和 KubeSphere
已有Kubernetes
集群,使用ks-installer
在其上部署 KubeSphere
。
下面我们借助 KubeKey
同时安装 Kubernetes
和 KubeSphere
二、kubekey 搭建k8s 集群 及 kubeSphere
安装结构:
主机 | 角色 |
---|---|
192.168.216.142 | k8s-master,kubeSphere |
192.168.216.143 | k8s-node1 |
192.168.216.144 | k8s-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,没有开启,这个可以根据需求自己选择保留开启。
下面开始安装k8s
和 KubeSphere
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]
一键部署 All-in-One
kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1
卸载 KubeSphere :
下载卸载脚本:
wget https://raw.githubusercontent.com/kubesphere/ks-installer/release-3.1/scripts/kubesphere-delete.sh
开始卸载
chmod +x kubesphere-delete.sh
sh kubesphere-delete.sh
更多推荐
所有评论(0)