KubeSphere部署安装,接入KubeKey安装的k8s集群
KubeSphere安装接入KubeKey安装的k8s集群
文章目录
一.NFS
安装配置
1.服务器安装NFS服务
这一步最好选择内存最大的那个集群节点进行操作此处只做演示
Ubuntu
:
sudo apt update
sudo apt install nfs-kernel-server
Centos
:
yum update
yum -y install nfs-utils
# 创建或使用用已有的文件夹作为nfs文件存储点
mkdir -p /home/data/nfs/share
vi /etc/exports
写入如下内容
/home/data/nfs/share *(rw,no_root_squash,sync,no_subtree_check)
# 配置生效并查看是否生效
exportfs -r
exportfs
# 启动rpcbind、nfs服务
#Centos
systemctl restart rpcbind && systemctl enable rpcbind
systemctl restart nfs && systemctl enable nfs
#Ubuntu
systemctl restart rpcbind && systemctl enable rpcbind
systemctl start nfs-kernel-server && systemctl enable nfs-kernel-server
# 查看 RPC 服务的注册状况
rpcinfo -p localhost
# showmount测试
showmount -e localhost
以上都没有问题则说明安装成功
2.下载并部署 NFS Subdir External Provisioner
这一步必须在
k8s
的控制节点上执行,即可以执行kubectl命令的节点
1).下载部署文件
cd /home
#下载压缩包
wget https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/archive/refs/tags/nfs-subdir-external-provisioner-4.0.18.zip
#下载后解压
unzip nfs-subdir-external-provisioner-4.0.18.zip
#进入文件目录
cd nfs-subdir-external-provisioner-nfs-subdir-external-provisioner-4.0.18/
2).创建 NameSpace
默认部署的命名空间为
default
,便于管理部署的资源,一般会创建一个新的命名空间。
#创建Namespace
kubectl create ns nfs-system
- 替换部署文件中的命名空间名称
sed -i'' "s/namespace:.*/namespace: nfs-system/g" ./deploy/rbac.yaml ./deploy/deployment.yaml
检查是否替换
cd deploy/
cat deployment.yaml | grep "namespace"
3).创建 RBAC
资源
#执行目录在deploy/下
kubectl apply -f rbac.yaml
要检查您的 NFS 客户端 Provisioner 部署是否成功:
检查 ServiceAccount
输出中是否包含 nfs-client-provisioner
,确认 ServiceAccount
已经正确创建,:
kubectl get serviceaccount -n nfs-system
检查 RBAC 配置,确认 ClusterRole
和 ClusterRoleBinding
已创建:
kubectl get clusterrole | grep nfs-client-provisioner-runner
kubectl get clusterrolebinding | grep run-nfs-client-provisioner
确认 Role
和 RoleBinding
已创建:
kubectl get role -n nfs-system | grep leader-locking-nfs-client-provisioner
kubectl get rolebinding -n nfs-system | grep leader-locking-nfs-client-provisioner
4).配置 deployment.yaml
由于文件内默认的镜像是
registry.k8s.io
镜像仓库的镜像nfs-subdir-external-provisioner:v4.0.2
,所以大部分时候拉取会超时,所以最好改为自己私库的镜像地址。
搭建个人镜像仓库可参考:阿里云容器镜像服务搭一个自己的镜像仓库-CSDN博客
需要修改的内容:
image:
,修改镜像地址,默认为registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
value: 10.3.243.101
,修改NFS
服务器的主机名或是IP
地址,注意,如果是主机名,要确保每一个节点的主机名可以相互解析
如图:
value: /ifs/kubernetes
,NFS 服务器导出的共享数据目录的路径,exportfs
输出的路径。
以下是我修改好的deployment.yaml
参考:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nfs-client-provisioner
labels:
app: nfs-client-provisioner
# replace with namespace where provisioner is deployed
namespace: nfs-system
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: nfs-client-provisioner
template:
metadata:
labels:
app: nfs-client-provisioner
spec:
serviceAccountName: nfs-client-provisioner
containers:
- name: nfs-client-provisioner
image: registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/nfs-subdir-external-provisioner:v4.0.2
volumeMounts:
- name: nfs-client-root
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: k8s-sigs.io/nfs-subdir-external-provisioner
- name: NFS_SERVER
value: 192.168.6.131
- name: NFS_PATH
value: /home/data/nfs/share
volumes:
- name: nfs-client-root
nfs:
server: 192.168.6.131
path: /home/data/nfs/share
-
执行部署命令
kubectl apply -f deployment.yaml
检查是否部署成功
kubectl get deployment,pods -n nfs-system
5).部署 Storage Class
-
执行部署命令
#依旧是deploy/目录下 kubectl apply -f class.yaml
-
检查是否部署成功
kubectl get sc
二.部署 KubeSphere
1.安装核心组件 KubeSphere Core
通过 helm
安装 KubeSphere 的核心组件 KubeSphere Core,命令如下:
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.com.cn/main/ks-core-1.1.3.tgz --debug --wait \
--set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks \
--set extension.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks \
--set hostClusterName=k8s-paco
- hostClusterName:需要改成自己集群的名字,如果忘记可执行
kubectl config current-context
查看,@
后面的就是集群名字
- 两个 imageRegistry:修改组件镜像仓库地址,默认是
charts.kubesphere.io
,可能无法访问,所以最好替换成国内地址:charts.kubesphere.com.cn
执行命令后等待安装完成:
2.安装完成后访问
如上图,安装完成后会输出访问的地址和账号密码。我们按如下地址访问。
首次登录会修改初始密码,提交后就能进入主界面。
三. KubeSphere
简单了解和使用
在进入主界面后,点击集群管理就可以找到之前安装的集群。
可以收藏指快捷访问,然后进入集群,就可以看到集群的一些基本信息。
在应用负载中,可以看到该集群的pod
,deployment
,service
等信息,也可对其Yaml
文件进行修改。
然后还可以从他们提供的扩展市场,安装一些自己需要的插件。实现一些其他的功能。
可以看到 KubeSphere
目前没有多少可选的应用,相比Rancher
,后者可提供的应用选择就比较多了如下图。
但KubeSphere
的好处就是,它有国内源作为支撑,相比Rancher
,在部署和维护的时候拉取镜像会比较方便。并且Rancher
作为老牌的,Kubernetes (K8s)
的开源管理平台。无论是使用人数和社区体量都比KubeSphere
要广泛。所以大家可以自行选择。
发行时间对比
平台 | 首次发布时间 | Kubernetes 支持时间 | 当前状态 |
---|---|---|---|
Rancher | 2014 年 | 2016 年全面转向支持 Kubernetes | 成熟,SUSE 旗下 |
KubeSphere | 2018 年 | 2018 年发布即全面支持 Kubernetes | 成熟,持续开源开发 |
其他可参考的,
k8s
集群的部署方法(高可用版本)Kubeadm+Containerd+keepalived部署高可用k8s(v1.28.2)集群-CSDN博客
Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)-CSDN博客
Rancher(V2.6.3)安装K8s教程_cluster must have at least one etcd plane host: pl-CSDN博客
原文地址:https://blog.csdn.net/qq_43479188/article/details/145207445
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!