KubeSphere 部署安装

使用 kubeadm 搭建的 Kubernetes 1.15.2 版本集群
Helm v2.12.2 版本
使用 NFS 作为集群存储后端

# 下载安装脚本
mkdir /root/kubeSphere && cd /root/kubeSphere

git clone https://github.com/kubesphere/ks-installer

# 要确保集群中有一个默认的 StorageClass 资源对象
vim default-sc.yaml

piVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-vic-data
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: fuseim.pri/ifs 
reclaimPolicy: Retain

# 部署在k8s上
 kubectl create -f default-sc.yaml 
 kubectl get sc

# 配置文件说明
    ks-installer/deploy/kubesphere.yaml 
    persistence	enable	是否启用持久化存储   (True / False)(非测试环境建议开启数据持久化)	
    storageClass	启用持久化存储要求环境中存在已经创建好的storageClass(默认为空,使用default storageClass)

# 在集群中创建名为 kubesphere-system 和 kubesphere-monitoring-system 的namespace
 kubectl create ns kubesphere-system
 kubectl create ns kubesphere-monitoring-system

# 创建集群ca证书secret
    注:按照当前集群 ca.crt 和 ca.key 证书路径创建
        (kubeadm 创建集群的证书路径一般为/etc/kubernetes/pki)
kubectl -n kubesphere-system create  secret generic kubesphere-ca \
 --from-file=ca.crt=/etc/kubernetes/pki/ca.crt --from-file=ca.key=/etc/kubernetes/pki/ca.key

# 创建etcd证书secret
    注:以集群实际 etcd 证书位置创建;若 etcd 没有配置证书,则创建空secret
kubectl -n kubesphere-monitoring-system create  secret generic kube-etcd-client-certs \
 --from-file=etcd-client-ca.crt=/etc/kubernetes/pki/etcd/ca.crt \
 --from-file=etcd-client.crt=/etc/kubernetes/pki/etcd/healthcheck-client.crt \
 --from-file=etcd-client.key=/etc/kubernetes/pki/etcd/healthcheck-client.key

# 在 openldap 这个 Deployment 下面容器中添加启动参数 args: --copy-service

ks-installer/roles/ks-core/prepare/templates/ks-account-init.yaml.j2

        image: {{ openldap_repo }}:{{ openldap_tag }}
        imagePullPolicy: IfNotPresent
        args:
        - --copy-service
        name: openldap


# 可以在此文件配置 默认安装软件
# kubesphere-defaults/defaults/main.yaml



# ks-installer/deploy/kubesphere.yaml 配置文件说明

 kubeapiserverhost 就是现有集群的 APIServer 地址,
 etcdendpointips 就是 etcd 的所在节点 IP,默认端口为 2379,如果你是集群模式 etcd,这里可以填写多个节点 IP,中间用 ,隔开

# 如果现有集群中已经安装有 metrics-server 需要在配置文件中将 metrics_server_enable 设置为 False
 
    metrics_server_enable: False


  # 禁用 sonarqube  
    sonarqube_enable: False
 
 # 禁用 istio
    istio_enable: False

# 开始部署在 k8s上
kubectl apply -f ks-installer/deploy/kubesphere.yaml


# 部署日志查看
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l job-name=kubesphere-installer -o jsonpath='{.items[0].metadata.name}') -f    

# 通过nodeport 访问
kubectl -n kubesphere-system get svc |grep ks-console

# 或者创建一个 Ingress 对象来访问 KubeSphere:(kubesphere-ingress.yaml)


# 默认的登录信息为:
    用户名:admin
    密码:P@88w0rd

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190823141305875.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTEzMjc4MDE=,size_16,color_FFFFFF,t_70)

你可能感兴趣的:(kubernetes)