怎么给网站做php后台,wordpress 写入权限,app推广赚佣金,板绘线下培训班文章目录 安装kubesphere插件服务暴露NodePort方式LoadBalancer方式安装 OpenELB部署eip资源配置网关启动网关创建路由测试网关路由ingress高级功能在服务中配置LoadBalancer 基础设施部署服务部署建议helm仓库添加helm仓库 运维相关部署gitlab部署nexus3部署harbor 研发相关 安… 文章目录 安装kubesphere插件服务暴露NodePort方式LoadBalancer方式安装 OpenELB部署eip资源配置网关启动网关创建路由测试网关路由ingress高级功能在服务中配置LoadBalancer 基础设施部署服务部署建议helm仓库添加helm仓库 运维相关部署gitlab部署nexus3部署harbor 研发相关 安装kubesphere插件
官网参考概述
资源定义-搜索clusterconfiguration 点击进入编辑ks-installer 编辑内容如下 若是担心内容存在出入可使用内容对比工具在线文本比对工具 | 菜鸟工具 替换内容确定后会自动安装相关插件 apiVersion: installer.kubesphere.io/v1alpha1
kind: ClusterConfiguration
metadata:annotations:kubectl.kubernetes.io/last-applied-configuration: {apiVersion:installer.kubesphere.io/v1alpha1,kind:ClusterConfiguration,metadata:{annotations:{},labels:{version:v3.3.2},name:ks-installer,namespace:kubesphere-system},spec:{alerting:{enabled:false},auditing:{enabled:false},authentication:{jwtSecret:},common:{core:{console:{enableMultiLogin:true,port:30880,type:NodePort}},es:{basicAuth:{enabled:false,password:,username:},elkPrefix:logstash,externalElasticsearchHost:,externalElasticsearchPort:,logMaxAge:7},gpu:{kinds:[{default:true,resourceName:nvidia.com/gpu,resourceType:GPU}]},minio:{volumeSize:20Gi},monitoring:{GPUMonitoring:{enabled:false},endpoint:http://prometheus-operated.kubesphere-monitoring-system.svc:9090},openldap:{enabled:false,volumeSize:2Gi},redis:{enabled:false,volumeSize:2Gi}},devops:{enabled:false,jenkinsMemoryLim:8Gi,jenkinsMemoryReq:4Gi,jenkinsVolumeSize:8Gi},edgeruntime:{enabled:false,kubeedge:{cloudCore:{cloudHub:{advertiseAddress:[]},service:{cloudhubHttpsNodePort:30002,cloudhubNodePort:30000,cloudhubQuicNodePort:30001,cloudstreamNodePort:30003,tunnelNodePort:30004}},enabled:false,iptables-manager:{enabled:true,mode:external}}},etcd:{endpointIps:192.168.31.21,192.168.31.22,192.168.31.23,monitoring:false,port:2379,tlsEnable:true},events:{enabled:false},logging:{enabled:false,logsidecar:{enabled:true,replicas:2}},metrics_server:{enabled:false},monitoring:{gpu:{nvidia_dcgm_exporter:{enabled:false}},node_exporter:{port:9100},storageClass:},multicluster:{clusterRole:none},network:{ippool:{type:none},networkpolicy:{enabled:false},topology:{type:none}},openpitrix:{store:{enabled:false}},persistence:{storageClass:},servicemesh:{enabled:false,istio:{components:{cni:{enabled:false},ingressGateways:[{enabled:false,name:istio-ingressgateway}]}}},terminal:{timeout:600},zone:cn}}labels:version: v3.3.2name: ks-installernamespace: kubesphere-system
spec:alerting:enabled: trueauditing:enabled: trueauthentication:jwtSecret: common:core:console:enableMultiLogin: trueport: 30880type: NodePortes:basicAuth:enabled: falsepassword: username: elkPrefix: logstashexternalElasticsearchHost: externalElasticsearchPort: logMaxAge: 7gpu:kinds:- default: trueresourceName: nvidia.com/gpuresourceType: GPUminio:volumeSize: 20Gimonitoring:GPUMonitoring:enabled: falseendpoint: http://prometheus-operated.kubesphere-monitoring-system.svc:9090openldap:enabled: falsevolumeSize: 2Giredis:enabled: falsevolumeSize: 2Gidevops:enabled: truejenkinsMemoryLim: 8GijenkinsMemoryReq: 2GijenkinsVolumeSize: 8Giedgeruntime:enabled: falsekubeedge:cloudCore:cloudHub:advertiseAddress:- service:cloudhubHttpsNodePort: 30002cloudhubNodePort: 30000cloudhubQuicNodePort: 30001cloudstreamNodePort: 30003tunnelNodePort: 30004enabled: falseiptables-manager:enabled: truemode: externaletcd:endpointIps: 192.168.31.21,192.168.31.22,192.168.31.23monitoring: falseport: 2379tlsEnable: trueevents:enabled: truelogging:enabled: truelogsidecar:enabled: truereplicas: 2metrics_server:enabled: truemonitoring:gpu:nvidia_dcgm_exporter:enabled: falsenode_exporter:port: 9100storageClass: multicluster:clusterRole: nonenetwork:ippool:type: caliconetworkpolicy:enabled: truetopology:type: weave-scopeopenpitrix:store:enabled: truepersistence:storageClass: servicemesh:enabled: falseistio:components:cni:enabled: falseingressGateways:- enabled: falsename: istio-ingressgatewayterminal:timeout: 600zone: cn查看安装情况 kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app in (ks-install, ks-installer) -o jsonpath{.items[0].metadata.name}) -f服务暴露 NodePort方式
点击编辑外部访问选择NodePort随机分配暴露端口
LoadBalancer方式 安装 OpenELB
进入应用商店搜索OpenELB进行安装安装0.2.6版本无需修改配置直接安装 0.5.0版本会出现连接失败问题导致容器不同重启 部署eip资源
编辑layer2-eip.yaml
apiVersion: network.kubesphere.io/v1alpha2
kind: Eip
metadata:name: layer2-eip
spec:address: 192.168.31.11-192.168.31.13interface: ens192protocol: layer2部署eip
kubectl apply -f layer2-eip.yaml查看eip
[rootksmaster21 yaml]# kubectl get eip
NAME CIDR USAGE TOTAL
layer2-eip 192.168.31.11-192.168.31.13 3 3配置网关
在应用商店搜索nginx部署用于测试
启动网关 lb.kubesphere.io/v1alpha1:openelb
protocol.openelb.kubesphere.io/v1alpha1:layer2
eip.openelb.kubesphere.io/v1alpha2:layer2-eip创建路由 本质是ingress-nginx适合http类型的请求进行转发 当上图网关地址出现信息则表格成功 测试网关路由
在ikuai中配置端口映射使用域名:端口访问 ingress高级功能
高级功能通过注释实现参考ingress-nginx注解配置 在服务中配置LoadBalancer
mysql、redis需通过tcp连接需在服务中配置外部访问
lb.kubesphere.io/v1alpha1:openelb
protocol.openelb.kubesphere.io/v1alpha1:layer2
eip.openelb.kubesphere.io/v1alpha2:layer2-eip基础设施部署 服务部署建议
应用商店添加三方应用商店helm部署编写k8s资源部署【资源多概念多】docker-compose转化为k8s资源部署docker-compose转化为k8s资源在转化helm【定制化】原生docker部署自制应用
helm仓库
https://kubernetes.github.io/ingress-nginx这是 Ingress Nginx 官方维护的 Helm 仓库。它提供了 Ingress Nginx 控制器的 Helm Chart用于在 Kubernetes 集群中部署和管理 Ingress Nginx。https://charts.kubesphere.io/main这是 KubeSphere 官方维护的 Helm 仓库。KubeSphere 是一个开源的 Kubernetes 容器平台该仓库提供了一系列与 KubeSphere 相关的 Helm Charts用于部署和管理 KubeSphere 的各个组件和功能。https://mirror.kaiyuanshe.cn/kubernetes/charts/这是开源社区开源中国维护的 Helm 仓库镜像。它提供了一系列常用的 Kubernetes Helm Charts包括各种应用、服务和工具的 Charts。https://mirror.azure.cn/kubernetes/charts/这是 Azure 中国区官方维护的 Helm 仓库镜像。它提供了一系列常用的 Kubernetes Helm Charts包括各种应用、服务和工具的 Charts。https://charts.helm.sh/stable这是 Helm 官方维护的稳定版本 Helm 仓库。它提供了广泛使用的各种应用、服务和工具的稳定版本 Charts。然而自 Helm 3.0 版本起Helm 官方不再维护这个仓库而是鼓励开发者将 Charts 发布到其他仓库。https://charts.bitnami.com/bitnami这是 Bitnami 维护的 Helm 仓库。Bitnami 提供了许多流行应用的 Helm Charts使用户能够轻松地在 Kubernetes 上部署和管理这些应用。https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts这是阿里云官方维护的 Helm 仓库。它提供了一系列常用的 Kubernetes Helm Charts包括各种应用、服务和工具的 Charts。阿里云还提供了其他地区的镜像仓库。
添加helm仓库 运维相关
运维相关基础设施特点是部署后基本就不会再动出于稳定性考虑可以考虑部署在k8s集群之外好处在于
避免个人在玩kubesphere时把集群搞奔溃恢复不了使用docker-compose部署比在kubesphere部署门槛低使用docker-compose部署方便进行迁移
部署gitlab
汉化版https://github.com/twang2218/gitlab-ce-zhdocker-compose.yaml
version: 2
services:gitlab:image: twang2218/gitlab-ce-zh:11.1.4restart: unless-stoppedhostname: gitlab.example.comenvironment:TZ: Asia/ShanghaiGITLAB_OMNIBUS_CONFIG: |# 使用服务内部域名external_url http://192.168.31.8gitlab_rails[time_zone] Asia/Shanghai# 需要配置到 gitlab.rb 中的配置可以在这里配置每个配置一行注意缩进。# 比如下面的电子邮件的配置# gitlab_rails[smtp_enable] true# gitlab_rails[smtp_address] smtp.exmail.qq.com# gitlab_rails[smtp_port] 465# gitlab_rails[smtp_user_name] xxxxxx.com# gitlab_rails[smtp_password] password# gitlab_rails[smtp_authentication] login# gitlab_rails[smtp_enable_starttls_auto] true# gitlab_rails[smtp_tls] true# gitlab_rails[gitlab_email_from] xxxxxx.comports:- 1000:80- 1001:443- 1002:22volumes:- config:/etc/gitlab- data:/var/opt/gitlab- logs:/var/log/gitlab
volumes:config:data:logs:登录http://192.168.31.8后台修改密码 部署nexus3
访问地址 http://ip:8081/ 3.17版本密码改成随即的了而且登录时候提示密码在/nexus-data/admin.password里 version: 3.3
services:nexus:image: sonatype/nexus3container_name: nexus3restart: alwaysenvironment:- TZAsia/Shanghaiports:- 1003:8081volumes:- ./nexus-data:/nexus-data注意最好使用mkdir创建nexus-data目并使用chmod -R 777设置权限不然启动会报错 部署harbor 通过应用商店部署核心在于TLS/SSL的配置若是不清楚可采用docekr-compose进行部署修改。 自行选择版本https://github.com/goharbor/harbor/releases 迅雷下载https://storage.googleapis.com/harbor-releases/release-2.10.0/harbor-offline-installer-v2.10.0.tgz Docker-compose部署Harbor实操 官网安装文档 helm部署harbor参考【K8S教程】Helm方式部署Harbor 下载安装包
wget https://storage.googleapis.com/harbor-releases/release-2.10.0/harbor-offline-installer-v2.10.0.tgz解压
tar -xzvf harbor-offline-installer-v2.10.0.tgz查看解压目录 修改harbor.yml配置
将 harbor.yml.tmpl命名为harbor.yml主要修改配置如下
hostname: 域名或ip
https:port: 443# 证书路径certificate: /data/harbor/cart/harbor.crtprivate_key: /data/harbor/cart/harbor.key
harbor_admin_password: 登录密码
database:password: 数据库密码
data_volume: /data/harbor生成ssl证书并拷贝到指定位置 如购买了ssl证书可直接使用若没有则参考官网:配置harbor对https的访问使用购买的证书和生成的证书区别生成的证书需要再harbor和docker上都配置将ssl证书拷贝到指定位置 首次安装执行安装命令
./install.sh安装后会生成docker-compse.yaml文件 若出现端口冲突问题请修改docker-compse.yaml文件修改nginx端口为1004 编译
./prepare使用docker-compose命令重启
研发相关
研发相关的基础设施特点
变动也比较少但比运维相关基础设施变动高业务服务会与这些组件交互从性能角度考虑建议部署到k8s中
研发相关组件mysql、redis、nacos等这儿不详细介绍部署方式介绍两种
通过应用商店部署习惯docker-compose方式部署的可以转化为kubesphere可视化操作部署