当前位置: 首页 > wzjs >正文

做特色创意菜品的网站快手推广网站

做特色创意菜品的网站,快手推广网站,网站制作合肥,做营销型网站价格前情提要 可视化操作面板对于开发、运维绝对是提升工作效率的一大利器,因此很有必要搭建一套可视化操作来管理Kubernetes。 可视化面板有多种: 1.Kubernetes官方提供的默认面板:dashboard,用处不大,放弃&#xff1b…

前情提要

可视化操作面板对于开发、运维绝对是提升工作效率的一大利器,因此很有必要搭建一套可视化操作来管理Kubernetes。

可视化面板有多种:

1.Kubernetes官方提供的默认面板:dashboard,用处不大,放弃;
2.Kuboard 也很不错, 集群要求不高,可通过访问https://kuboard.cn/support/作进一步了解;3.Kubesphere 集成了很多套件, 集群要求较高,可通过访问https://kubesphere.io/作进一步了解。

本文主要围绕KubeSphere进行讲解。

 简介


KubeSphere 是一款面向云原生设计的开源项目, 在目前主流容器调度平台 Kubernetes 之上构建的分布式多租户容器管理平台, 提供简单易用的操作界面以及向导式操作方式, 在降低用户使用容器调度平台学习成本的同时, 极大降低开发、 测试、 运维的日常工作的复杂度。

安装前置环境

主要是安装helm,tiller和openebs,这个在上一篇中已完成。

然后是最小化安装 kubesphere,本文要介绍的。

须确保集群可用的资源符合 CPU > 1 Core, 可用内存 > 2 G

下面具体的搭建的过程

搭建过程


1.创建一个kubesphere-mini.yaml文件

并写入下面的内容 :

---
apiVersion: v1
kind: Namespace
metadata:name: kubesphere-system---
apiVersion: v1
data:ks-config.yaml: |---persistence:storageClass: ""etcd:monitoring: FalseendpointIps: 192.168.0.7,192.168.0.8,192.168.0.9port: 2379tlsEnable: Truecommon:mysqlVolumeSize: 20GiminioVolumeSize: 20GietcdVolumeSize: 20GiopenldapVolumeSize: 2GiredisVolumSize: 2Gimetrics_server:enabled: Falseconsole:enableMultiLogin: False  # enable/disable multi loginport: 30880monitoring:prometheusReplicas: 1prometheusMemoryRequest: 400MiprometheusVolumeSize: 20Gigrafana:enabled: Falselogging:enabled: FalseelasticsearchMasterReplicas: 1elasticsearchDataReplicas: 1logsidecarReplicas: 2elasticsearchMasterVolumeSize: 4GielasticsearchDataVolumeSize: 20GilogMaxAge: 7elkPrefix: logstashcontainersLogMountedPath: ""kibana:enabled: Falseopenpitrix:enabled: Falsedevops:enabled: FalsejenkinsMemoryLim: 2GijenkinsMemoryReq: 1500MijenkinsVolumeSize: 8GijenkinsJavaOpts_Xms: 512mjenkinsJavaOpts_Xmx: 512mjenkinsJavaOpts_MaxRAM: 2gsonarqube:enabled: FalsepostgresqlVolumeSize: 8Giservicemesh:enabled: Falsenotification:enabled: Falsealerting:enabled: False
kind: ConfigMap
metadata:name: ks-installernamespace: kubesphere-system---
apiVersion: v1
kind: ServiceAccount
metadata:name: ks-installernamespace: kubesphere-system---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:creationTimestamp: nullname: ks-installer
rules:
- apiGroups:- ""resources:- '*'verbs:- '*'
- apiGroups:- appsresources:- '*'verbs:- '*'
- apiGroups:- extensionsresources:- '*'verbs:- '*'
- apiGroups:- batchresources:- '*'verbs:- '*'
- apiGroups:- rbac.authorization.k8s.ioresources:- '*'verbs:- '*'
- apiGroups:- apiregistration.k8s.ioresources:- '*'verbs:- '*'
- apiGroups:- apiextensions.k8s.ioresources:- '*'verbs:- '*'
- apiGroups:- tenant.kubesphere.ioresources:- '*'verbs:- '*'
- apiGroups:- certificates.k8s.ioresources:- '*'verbs:- '*'
- apiGroups:- devops.kubesphere.ioresources:- '*'verbs:- '*'
- apiGroups:- monitoring.coreos.comresources:- '*'verbs:- '*'
- apiGroups:- logging.kubesphere.ioresources:- '*'verbs:- '*'
- apiGroups:- jaegertracing.ioresources:- '*'verbs:- '*'
- apiGroups:- storage.k8s.ioresources:- '*'verbs:- '*'
- apiGroups:- admissionregistration.k8s.ioresources:- '*'verbs:- '*'---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: ks-installer
subjects:
- kind: ServiceAccountname: ks-installernamespace: kubesphere-system
roleRef:kind: ClusterRolename: ks-installerapiGroup: rbac.authorization.k8s.io---
apiVersion: apps/v1
kind: Deployment
metadata:name: ks-installernamespace: kubesphere-systemlabels:app: ks-install
spec:replicas: 1selector:matchLabels:app: ks-installtemplate:metadata:labels:app: ks-installspec:serviceAccountName: ks-installercontainers:- name: installerimage: kubesphere/ks-installer:v2.1.1imagePullPolicy: "Always"

2.执行apply命令

#KubeSphere 最小化安装:
kubectl apply -f kubesphere-mini.yaml

 3.检查kubesphere pod启动运行情况

执行下面的命令,观察kubesphere相关pods启动情况,确保所有的都处于Running状态

kubectl get pods --all-namespaces


如果哪个pod失败,使用下面的命令找出失败的原因

# pod替换为失败的pod名,n后面的参数换成对应的命名空间
kubectl describe pod default-http-backend-5d464dd566-wtr98 -n kubesphere-controls-system

 如果失败的原因是ImagePullBackOff,可以使用这个命令,找到需要的镜像

# pod和n 后面的参数替换为失败的pod名和对应的命名空间
kubectl describe pod  node-exporter-kjs4p -n kubesphere-monitoring-system | grep -A5 "Containers"

 像上图中出现一个pod:default-http-backend镜像拉取失败,最后试了这个才拉取到本地

registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64:1.4

拉取到以后需要打标签,伪装成mirrorgooglecontainers/defaultbackend-amd64:1.4

拉取和打标签通过下面的命令来实现:

# 拉镜像

docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64:1.4

# 打标签

docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64:1.4 mirrorgooglecontainers/defaultbackend-amd64:1.4

然后删除失败的pod进行重建,注意替换pod后面的参数自己的Pod名,n后面的参数为自己的命名空间

kubectl delete pod  default-http-backend-5d464dd566-z2bt2 -n kubesphere-controls-system

 删除后重建如果还是失败上面提到的命令再次查看原因,注意查看输出的原因分析的Event部分

Events:
  Type     Reason     Age                  From                Message
  ----     ------     ----                 ----                -------
  Normal   Scheduled  <unknown>            default-scheduler   Successfully assigned kubesphere-controls-system/default-http-backend-5d464dd566-9dqlz to k8s-node2
  Warning  Failed     74s (x2 over 3m38s)  kubelet, k8s-node2  Failed to pull image "mirrorgooglecontainers/defaultbackend-amd64:1.4": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Failed     74s (x2 over 3m38s)  kubelet, k8s-node2  Error: ErrImagePull
  Normal   BackOff    59s (x2 over 3m37s)  kubelet, k8s-node2  Back-off pulling image "mirrorgooglecontainers/defaultbackend-amd64:1.4"
  Warning  Failed     59s (x2 over 3m37s)  kubelet, k8s-node2  Error: ImagePullBackOff
  Normal   Pulling    47s (x3 over 6m4s)   kubelet, k8s-node2  Pulling image "mirrorgooglecontainers/defaultbackend-amd64:1.4"
 

从上面输出可以看出

Pod 被调度到了 node2,但 node2 去拉镜像时失败了(因为网络问题,连不上 Docker Hub)。

问题本质

只在 k8s-node1docker pulldocker tag 了镜像,
但是 k8s-node2 也要这个镜像,它自己本地没有,所以还会去拉。
Kubernetes 不会自动把 node1 的镜像复制给 node2

因此需要在k8s-node2上执行下面的命令

# 拉镜像

docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64:1.4

# 打标签

docker tag registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64:1.4 mirrorgooglecontainers/defaultbackend-amd64:1.4

 验证本地是否有相关镜像

docker images | grep defaultbackend

 输出下图的提示才正常

[root@k8s-node2 ~]# docker images | grep defaultbackend
mirrorgooglecontainers/defaultbackend-amd64                          1.4                 846921f0fe0e        7 years ago         4.84MB
registry.cn-beijing.aliyuncs.com/kubesphereio/defaultbackend-amd64   1.4                 846921f0fe0e        7 years ago         4.84MB

 如果本地有镜像但还是ImagePullBackOff,需要使用下面的命令指定imagePullPolicy: IfNotPresent

kubectl -n kubesphere-controls-system patch deployment default-http-backend -p '{"spec":{"template":{"spec":{"containers":[{"name":"default-http-backend","imagePullPolicy":"IfNotPresent"}]}}}}'

经过上面的处理,再次查看kubesphere所有pod的状态,全部变为Running状态了

还可以使用下面的命令查看安装日志,整个过程所需时间跟网络紧密相关, 请耐心等待安装成功:

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

 当所有kubesphere pod都处于Running状态时,就可以使用浏览器访问kubesphere了,kubeSphere v2.x默认的账号为admin,密码为P@88w0rd,因此使用这个它们即可登录

http://www.dtcms.com/wzjs/144726.html

相关文章:

  • 枣庄做网站建设找哪家长沙网络推广小公司
  • 大一网页设计期末作品沈阳seo排名外包
  • 政府网站建设 资金保障武汉大学人民医院精神卫生中心
  • 上海做淘宝网站专注于网站营销服务
  • 能做外链的产品网站本站3天更换一次域名yw
  • 美女类网站模板销售网站
  • ps怎么做网站页面seo优化排名易下拉效率
  • 亿唐微方网站建设免费发广告的平台有哪些
  • dw设计做网站完整案例搜索引擎优化的简写是
  • 牛商网做的网站怎么样怎么网络推广
  • 南昌做公司网站哪家好免费网站java源码大全
  • 起点网站建设百度广告联盟怎么赚钱
  • 网站排名优化有哪些牛霸天的软件1刷外链工具
  • dede静态网站搜索引擎优化的根本目的
  • 网站建设需要哪些功能20条优化措施
  • 做直播网站软件社区营销推广活动方案
  • 用明星做AV视频的网站淘宝关键词查询
  • 澄江网站制作seo品牌优化整站优化
  • 网站介绍的ppt怎么做产品市场推广方案范文
  • 品网站建设公司排名专业网络推广
  • 做租赁的行业网站腾讯企点
  • 广州英铭网站建设360收录批量查询
  • 网站建设售后培训网页在线代理翻墙
  • 精美网站制作公司朋友圈推广广告
  • 做网站的销售话术登录百度账号注册
  • wordpress主题更换备份seo服务包括哪些
  • 腾讯网站建设方案杭州推广公司排名
  • 微信支付公司网站软文推广做得比较好的推广平台
  • 彩票网站做一级代理犯法吗北京官方seo搜索引擎优化推荐
  • 做网站公司有什么出路搭建网站工具