kubernetes安装kubesphere

前置默认都安装了k8s,且k8s都正常

1、nfs文件系统

1.1、安装nfs-server
# 在每个机器。
yum install -y nfs-utils


# 在master 执行以下命令 
echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports


# 执行以下命令,启动 nfs 服务;创建共享目录
mkdir -p /nfs/data


# 在master执行
systemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server

# 使配置生效
exportfs -r


#检查配置是否生效
exportfs

 

1.2、配置默认存储
  • 创建nfs.yam文件
vi nfs.yaml
  • 根据自己的情况,更改文件内容即可
## 创建了一个存储类
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-storage
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: k8s-sigs.io/nfs-subdir-external-provisioner
parameters:
  archiveOnDelete: "true"  ## 删除pv的时候,pv的内容是否要备份

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nfs-client-provisioner
  labels:
    app: nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
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/lfy_k8s_images/nfs-subdir-external-provisioner:v4.0.2
          # resources:
          #    limits:
          #      cpu: 10m
          #    requests:
          #      cpu: 10m
          volumeMounts:
            - name: nfs-client-root
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: k8s-sigs.io/nfs-subdir-external-provisioner
            - name: NFS_SERVER
              value: 172.16.16.20 ## 指定自己nfs服务器地址
            - name: NFS_PATH  
              value: /nfs/data  ## nfs服务器共享的目录
      volumes:
        - name: nfs-client-root
          nfs:
            server: 172.16.16.20
            path: /nfs/data
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: nfs-client-provisioner-runner
rules:
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["get", "list", "watch", "create", "delete"]
  - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get", "list", "watch", "update"]
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["create", "update", "patch"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: run-nfs-client-provisioner
subjects:
  - kind: ServiceAccount
    name: nfs-client-provisioner
    # replace with namespace where provisioner is deployed
    namespace: default
roleRef:
  kind: ClusterRole
  name: nfs-client-provisioner-runner
  apiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
rules:
  - apiGroups: [""]
    resources: ["endpoints"]
    verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
subjects:
  - kind: ServiceAccount
    name: nfs-client-provisioner
    # replace with namespace where provisioner is deployed
    namespace: default
roleRef:
  kind: Role
  name: leader-locking-nfs-client-provisioner
  apiGroup: rbac.authorization.k8s.io
1.3、k8s应用nfs
kubectl apply -f nfs.yaml

2、安装kubesphere

  • 下面操作主节点执行即可
2.1、下载核心文件
wget https://github.com/kubesphere/ks-installer/releases/download/v3.1.1/kubesphere-installer.yaml
wget https://github.com/kubesphere/ks-installer/releases/download/v3.1.1/cluster-configuration.yaml

2.2、修改
  • 需要指定下etcd服务IP,一般为master节点的IP
  • cluster-configuration.yaml包含了kubesphere工具,默认都是false,在安装kubesphere时不会安装这些工具,我们可以选择想要安装的工具,改为true即可
  • 配置低的话,不建议在安装时去同步安装工具

2.3、执行安装
kubectl apply -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.yaml

 

  • 注意:电脑配置一定要满足官方的最低要求,否则安装会不成功!
2.4、查看安装进度
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
  • 安装时间会有点长,建议用上面命令查看
  • 安装成功截图如下:

  • 也可以查看service的生成状态,下面这个是成功后的service列表
kubectl get svc -A

2.5、登录

地址:http://k8s节点的IP:30880

账号:admin

密码:P@88w0rd

### 安装 Kubernetes 和部署 KubeSphere 的步骤 #### 1. 环境准备 在开始之前,确保所有节点上安装了以下组件: - **Docker**:Kubernetes 使用 Docker 来管理容器。 - **kubeadm、kubelet 和 kubectl**:这些是 Kubernetes 的核心工具。 ##### 安装 Docker ```bash # 安装 Docker 引擎 sudo apt-get update sudo apt-get install -y docker.io ``` ##### 安装 kubeadm、kubelet 和 kubectl ```bash # 添加 Kubernetes 仓库 sudo apt-get update && sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF' # 更新包索引并安装 Kubernetes 工具 sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl ``` #### 2. 部署 Kubernetes Master 在主节点上执行以下命令来初始化 Kubernetes 集群: ```bash # 初始化 Kubernetes 集群 sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 初始化完成后,按照提示设置 `kubectl` 的配置文件: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` #### 3. 部署容器网络插件 选择一个网络插件(如 Flannel 或 Calico)并部署。这里以 Flannel 为例: ```bash # 部署 Flannel 网络插件 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` #### 4. 部署 Kubernetes Node 在每个工作节点上执行 `kubeadm join` 命令,将节点加入集群。该命令会在 `kubeadm init` 的输出中提供。 #### 5. 安装 KubeSphere KubeSphere 提供了简化 Kubernetes 管理的界面。可以使用 `kubectl` 应用 KubeSphere安装文件。 ##### 下载并应用 KubeSphere 安装文件 ```bash # 下载 KubeSphere 安装文件 kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.2/kubesphere-installer.yaml kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.2/cluster-configuration.yaml ``` ##### 检查安装日志 ```bash # 查看安装日志 kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f ``` ##### 查看运行状态 ```bash # 检查 Pod 状态 kubectl get pods -n kubesphere-system ``` #### 6. 验证安装 确保所有 KubeSphere 组件都处于运行状态,并且可以通过浏览器访问 KubeSphere 的 Web 界面。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睡竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值