wordpress 网站标题,江门建站网站模板,尚志网络推广,深圳市电子商务有限公司部署kubesphere 学习于尚硅谷kubesphere课程 前置环境配置-部署默认存储类型
这里使用nfs
#所有节点安装
yum install -y nfs-utils# 在master节点执行以下命令
echo /nfs/data/ *(insecure,rw,sync,no_root_squash) /etc/exports
# 执行以下命令#xff…部署kubesphere 学习于尚硅谷kubesphere课程 前置环境配置-部署默认存储类型
这里使用nfs
#所有节点安装
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#在从节点执行(选做)
showmount -e 192.168.8.11
mkdir -p /nfs/data
mount -t nfs 192.168.8.11:/nfs/data /nfs/data配置存储注意修改nfs服务的IP
#创建sc.yaml
kubectl apply -f sc.yaml##确认配置是否生效
kubectl get scsc.yaml
## 创建了一个存储类
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: nfs-storageannotations: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-provisionerlabels:app: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
spec:replicas: 1strategy:type: Recreateselector:matchLabels:app: nfs-client-provisionertemplate:metadata:labels:app: nfs-client-provisionerspec:serviceAccountName: nfs-client-provisionercontainers:- name: nfs-client-provisionerimage: registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/nfs-subdir-external-provisioner:v4.0.2# resources:# limits:# cpu: 10m# requests:# cpu: 10mvolumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: k8s-sigs.io/nfs-subdir-external-provisioner- name: NFS_SERVERvalue: 192.168.8.11 ## 指定自己nfs服务器地址- name: NFS_PATH value: /nfs/data ## nfs服务器共享的目录volumes:- name: nfs-client-rootnfs:server: 192.168.8.11path: /nfs/data
---
apiVersion: v1
kind: ServiceAccount
metadata:name: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: 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: ServiceAccountname: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
roleRef:kind: ClusterRolename: nfs-client-provisioner-runnerapiGroup: 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 deployednamespace: 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 deployednamespace: default
subjects:- kind: ServiceAccountname: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
roleRef:kind: Rolename: leader-locking-nfs-client-provisionerapiGroup: rbac.authorization.k8s.io部署kubesphere
#下载安装配置文件
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#无需修改直接apply
kubectl apply -f kubesphere-installer.yaml#需要修改一些配置 启用所需插件修改网络策略等
kubectl apply -f cluster-configuration.yaml#查看kubesphere安装状态
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l appks-install -o jsonpath{.items[0].metadata.name}) -f#等待安装完成即可过程有点漫长#查看一下是否有pod非running状态
kubectl get pod -A#查看一下pod未running的原因
kubectl describe pod -n kubesphere-monitoring-system prometheus-k8s-0
kubectl describe pod -n kubesphere-monitoring-system prometheus-k8s-1
kubectl describe pod -n kubesphere-system openpitrix-import-job-8qczq#解决上面的问题
kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs --from-fileetcd-client-ca.crt/etc/kubernetes/pki/etcd/ca.crt --from-fileetcd-client.crt/etc/kubernetes/pki/apiserver-etcd-client.crt --from-fileetcd-client.key/etc/kubernetes/pki/apiserver-etcd-client.key等会再看看pod状态。
测试访问kubesphere