Kubernetes 1.8.6 集群部署–部署Web UI界面
安装DNS插件
在 Master节点 上进行安装操作
下载安装文件
<span class="hljs-meta">#</span><span class="bash"> <span class="hljs-built_in">cd</span></span>
<span class="hljs-meta">#</span><span class="bash"> wget https://github.com/kubernetes/kubernetes/releases/download/v1.8.6/kubernetes.tar.gz</span>
<span class="hljs-meta">#</span><span class="bash"> tar xzvf kubernetes.tar.gz</span>
<span class="hljs-meta">
#</span><span class="bash"> <span class="hljs-built_in">cd</span> /root/kubernetes/cluster/addons/dns</span>
<span class="hljs-meta">#</span><span class="bash"> mv kubedns-svc.yaml.sed kubedns-svc.yaml</span>
<span class="hljs-meta">
#</span><span class="bash"><span class="zh-hans">把文件中</span><span class="hljs-variable">$DNS_SERVER_IP</span><span class="zh-hans">替换成</span>10.254.0.2</span>
<span class="hljs-meta">#</span><span class="bash"> sed -i <span class="hljs-string">'s/$DNS_SERVER_IP/10.254.0.2/g'</span> ./kubedns-svc.yaml</span>
<span class="hljs-meta">
#</span><span class="bash"> mv ./kubedns-controller.yaml.sed ./kubedns-controller.yaml</span>
<span class="hljs-meta">
#</span><span class="bash"><span class="zh-hans">把</span><span class="hljs-variable">$DNS_DOMAIN</span><span class="zh-hans">替换成</span>cluster.local</span>
<span class="hljs-meta">#</span><span class="bash"> sed -i <span class="hljs-string">'s/$DNS_DOMAIN/cluster.local/g'</span> ./kubedns-controller.yaml</span>
<span class="hljs-meta">
#</span><span class="bash"> ls *.yaml</span>
kubedns-cm.yaml kubedns-controller.yaml kubedns-sa.yaml kubedns-svc.yaml
[root@master1 dns]# kubectl create -f .
configmap "kube-dns" created
deployment "kube-dns" created
serviceaccount "kube-dns" created
service "kube-dns" created
部署 dashboard 插件
在master节点部署
新增部署配置文件
需要2个文件。
文件一
dashboard.yaml:
<span class="hljs-attr">apiVersion:</span> <span class="hljs-string">v1</span>
<span class="hljs-attr">kind:</span> <span class="hljs-string">ServiceAccount</span>
<span class="hljs-attr">metadata:</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr"> namespace:</span> <span class="hljs-string">kube-system</span>
<span class="hljs-meta">---</span>
<span class="hljs-attr">apiVersion:</span> <span class="hljs-string">rbac.authorization.k8s.io/v1beta1</span>
<span class="hljs-attr">kind:</span> <span class="hljs-string">ClusterRoleBinding</span>
<span class="hljs-attr">metadata:</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr"> labels:</span>
<span class="hljs-attr"> k8s-app:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr">roleRef:</span>
<span class="hljs-attr"> apiGroup:</span> <span class="hljs-string">rbac.authorization.k8s.io</span>
<span class="hljs-attr"> kind:</span> <span class="hljs-string">ClusterRole</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">cluster-admin</span>
<span class="hljs-attr">subjects:</span>
<span class="hljs-attr">- kind:</span> <span class="hljs-string">ServiceAccount</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr"> namespace:</span> <span class="hljs-string">kube-system</span>
<span class="hljs-meta">---</span>
<span class="hljs-attr">apiVersion:</span> <span class="hljs-string">extensions/v1beta1</span>
<span class="hljs-attr">kind:</span> <span class="hljs-string">Deployment</span>
<span class="hljs-attr">metadata:</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr"> namespace:</span> <span class="hljs-string">kube-system</span>
<span class="hljs-attr"> labels:</span>
<span class="hljs-attr"> k8s-app:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-string">kubernetes.io/cluster-service:</span> <span class="hljs-string">"true"</span>
<span class="hljs-string">addonmanager.kubernetes.io/mode:</span> <span class="hljs-string">Reconcile</span>
<span class="hljs-attr">spec:</span>
<span class="hljs-attr"> selector:</span>
<span class="hljs-attr"> matchLabels:</span>
<span class="hljs-attr"> k8s-app:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr"> template:</span>
<span class="hljs-attr"> metadata:</span>
<span class="hljs-attr"> labels:</span>
<span class="hljs-attr"> k8s-app:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr"> annotations:</span>
<span class="hljs-string">scheduler.alpha.kubernetes.io/critical-pod:</span> <span class="hljs-string">''</span>
<span class="hljs-attr"> spec:</span>
<span class="hljs-attr"> serviceAccountName:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr"> containers:</span>
<span class="hljs-attr"> - name:</span> <span class="hljs-string">kubernetes-dashboard</span>
<span class="hljs-attr"> image:</span> <span class="hljs-string">registry.docker-cn.com/kubernetesdashboarddev/kubernetes-dashboard-amd64:head</span>
<span class="hljs-attr"> resources:</span>
<span class="hljs-attr"> limits:</span>
<span class="hljs-attr"> cpu:</span> <span class="hljs-number">100</span><span class="hljs-string">m</span>
<span class="hljs-attr"> memory:</span> <span class="hljs-number">300</span><span class="hljs-string">Mi</span>
<span class="hljs-attr"> requests:</span>
<span class="hljs-attr"> cpu:</span> <span class="hljs-number">100</span><span class="hljs-string">m</span>
<span class="hljs-attr"> memory:</span> <span class="hljs-number">100</span><span class="hljs-string">Mi</span>
<span class="hljs-attr"> ports:</span>
<span class="hljs-attr"> - containerPort:</span> <span class="hljs-number">9090</span>
<span class="hljs-attr"> livenessProbe:</span>
<span class="hljs-attr"> httpGet:</span>
<span class="hljs-attr"> path:</span> <span class="hljs-string">/</span>
<span class="hljs-attr"> port:</span> <span class="hljs-number">9090</span>
<span class="hljs-attr"> initialDelaySeconds:</span> <span class="hljs-number">30</span>
<span class="hljs-attr"> timeoutSeconds:</span> <span class="hljs-number">30</span>
<span class="hljs-attr"> tolerations:</span>
<span class="hljs-attr"> - key:</span> <span class="hljs-string">"CriticalAddonsOnly"</span>
<span class="hljs-attr"> operator:</span> <span class="hljs-string">"Exists"</span>
文件二:
dashboard-svc.yaml文件
<span class="hljs-attribute">apiVersion</span>: v1
<span class="hljs-attribute">kind</span>: Service
<span class="hljs-attribute">metadata</span>:
<span class="hljs-attribute">name</span>: kubernetes-dashboard
<span class="hljs-attribute">namespace</span>: kube-system
<span class="hljs-attribute">labels</span>:
<span class="hljs-attribute">k8s-app</span>: kubernetes-dashboard
kubernetes.io/<span class="hljs-attribute">cluster-service</span>: <span class="hljs-string">"true"</span>
addonmanager.kubernetes.io/<span class="hljs-attribute">mode</span>: Reconcile
<span class="hljs-attribute">spec</span>:
<span class="hljs-attribute">selector</span>:
<span class="hljs-attribute">k8s-app</span>: kubernetes-dashboard
<span class="hljs-attribute">type</span>: NodePort
<span class="hljs-attribute">ports</span>:
- <span class="hljs-attribute">port</span>: <span class="hljs-number">9090</span>
<span class="hljs-attribute">targetPort</span>: <span class="hljs-number">9090</span>
<span class="hljs-attribute">nodePort</span>: <span class="hljs-number">8888</span>
给个吉利数字,因为这个端口来的太不容易了。。。
分别执行2个部署文件
kubectl create -f dashboard<span class="hljs-selector-class">.yaml</span>
kubectl create -f dashboard-svc<span class="hljs-selector-class">.yaml</span>
如何访问?
[root@master1 dashboard]# kubectl get po -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE
heapster<span class="hljs-number">-6</span>c6bb6b7f5<span class="hljs-number">-9</span>sskf <span class="hljs-number">1</span>/<span class="hljs-number">1</span> Running <span class="hljs-number">3</span> <span class="hljs-number">3</span>h <span class="hljs-number">172.30</span><span class="hljs-number">.61</span><span class="hljs-number">.4</span> <span class="hljs-number">192.168</span><span class="hljs-number">.161</span><span class="hljs-number">.162</span>
kube-dns<span class="hljs-number">-777</span>f78c558-fshmq <span class="hljs-number">3</span>/<span class="hljs-number">3</span> Running <span class="hljs-number">15</span> <span class="hljs-number">9</span>h <span class="hljs-number">172.30</span><span class="hljs-number">.61</span><span class="hljs-number">.3</span> <span class="hljs-number">192.168</span><span class="hljs-number">.161</span><span class="hljs-number">.162</span>
kubernetes-dashboard<span class="hljs-number">-8665</span>cd4dfb<span class="hljs-number">-2</span>ddd9 <span class="hljs-number">1</span>/<span class="hljs-number">1</span> Running <span class="hljs-number">0</span> <span class="hljs-number">10</span>m <span class="hljs-number">172.30</span><span class="hljs-number">.101</span><span class="hljs-number">.2</span> <span class="hljs-number">192.168</span><span class="hljs-number">.161</span><span class="hljs-number">.163</span>
monitoring-grafana<span class="hljs-number">-8</span>f6f789f9-lp2zk <span class="hljs-number">1</span>/<span class="hljs-number">1</span> Running <span class="hljs-number">0</span> <span class="hljs-number">1</span>h <span class="hljs-number">172.30</span><span class="hljs-number">.61</span><span class="hljs-number">.6</span> <span class="hljs-number">192.168</span><span class="hljs-number">.161</span><span class="hljs-number">.162</span>
monitoring-influxdb<span class="hljs-number">-7</span>c77768d9<span class="hljs-number">-9</span>nbbv <span class="hljs-number">1</span>/<span class="hljs-number">1</span> Running <span class="hljs-number">0</span> <span class="hljs-number">1</span>h <span class="hljs-number">172.30</span><span class="hljs-number">.61</span><span class="hljs-number">.5</span> <span class="hljs-number">192.168</span><span class="hljs-number">.161</span><span class="hljs-number">.162</span>
首先查看一下部署的服务是否正常?
如上可以很清晰的看到 咱们部署的 kubernetes-dashboard 在 192.168.161.163 上面已经部署了。
那我们可以去访问下:
<span class="hljs-symbol">http:</span><span class="hljs-comment">//192.168.161.163:8888</span>
部署 heapster 插件
下载安装文件
<span class="hljs-comment"># wget https://github.com/kubernetes/heapster/archive/v1.5.0.tar.gz</span>
<span class="hljs-comment"># tar xzvf ./v1.5.0.tar.gz</span>
<span class="hljs-comment"># cd ./heapster-1.5.0/</span>
[root@master1 heapster-1.5.0]# kubectl create -f deploy/kube-config/influxdb/
deployment <span class="hljs-string">"monitoring-grafana"</span> created<span class="hljs-built_in">
service </span><span class="hljs-string">"monitoring-grafana"</span> created
serviceaccount <span class="hljs-string">"heapster"</span> created
deployment <span class="hljs-string">"heapster"</span> created<span class="hljs-built_in">
service </span><span class="hljs-string">"heapster"</span> created
deployment <span class="hljs-string">"monitoring-influxdb"</span> created<span class="hljs-built_in">
service </span><span class="hljs-string">"monitoring-influxdb"</span> created
[root@master1 heapster-1.5.0]# kubectl create -f deploy/kube-config/rbac/heapster-rbac.yaml
clusterrolebinding <span class="hljs-string">"heapster"</span> created
登录dashboard
当然最后真的很想说,结果我非常满意,中间入了很多坑,耗费了很长时间,但最终还是一个人搞定了。
重点留在后面,顺便给大家说下,架构所涉及的镜像源均为google的,你们也懂的,被墙的不行不行的!在此我把所有的镜像换成了阿里的如下:
大家对照着自行修改!!
文中用到的服务安装包 我已经下载好 放在了云盘:
<span class="zh-hans">链接:</span>https:<span class="hljs-regexp">//</span>pan.baidu.com<span class="hljs-regexp">/s/</span><span class="hljs-number">1</span>RPUsippDee5C9tOnBkdlqg <span class="zh-hans">密码:</span>ckez
要是直接放在yaml文件中记得去掉 docker pull
gcr.io<span class="hljs-regexp">/google_containers/</span>kubernetes-dashboard-<span class="hljs-string">amd64:</span>v1<span class="hljs-number">.8</span><span class="hljs-number">.1</span>
docker pull registry.docker-cn.com<span class="hljs-regexp">/kubernetesdashboarddev/</span>kubernetes-dashboard-<span class="hljs-string">amd64:</span>head
gcr.io<span class="hljs-regexp">/google_containers/</span>k8s-dns-kube-dns-<span class="hljs-string">amd64:</span><span class="hljs-number">1.14</span><span class="hljs-number">.5</span>
docker pull registry.cn-hangzhou.aliyuncs.com<span class="hljs-regexp">/wonders/</span>k8s-dns-kube-dns-<span class="hljs-string">amd64:</span><span class="hljs-number">1.14</span><span class="hljs-number">.5</span>
gcr.io<span class="hljs-regexp">/google_containers/</span>heapster-grafana-<span class="hljs-string">amd64:</span>v4<span class="hljs-number">.4</span><span class="hljs-number">.3</span>
docker pull registry.cn-hangzhou.aliyuncs.com<span class="hljs-regexp">/inspur_research/</span>heapster-grafana-<span class="hljs-string">amd64:</span>v4<span class="hljs-number">.4</span><span class="hljs-number">.3</span>
gcr.io<span class="hljs-regexp">/google_containers/</span>heapster-<span class="hljs-string">amd64:</span>v1<span class="hljs-number">.4</span><span class="hljs-number">.2</span>
docker pull registry.cn-hangzhou.aliyuncs.com<span class="hljs-regexp">/inspur_research/</span>heapster-<span class="hljs-string">amd64:</span>v1<span class="hljs-number">.4</span><span class="hljs-number">.2</span>
gcr.io<span class="hljs-regexp">/google_containers/</span>heapster-influxdb-<span class="hljs-string">amd64:</span>v1<span class="hljs-number">.3</span><span class="hljs-number">.3</span>
docker pull registry.cn-hangzhou.aliyuncs.com<span class="hljs-regexp">/inspur_research/</span>heapster-influxdb-<span class="hljs-string">amd64:</span>v1<span class="hljs-number">.3</span><span class="hljs-number">.3</span>
gcr.io<span class="hljs-regexp">/google_containers/</span>k8s-dns-dnsmasq-nanny-<span class="hljs-string">amd64:</span><span class="hljs-number">1.14</span><span class="hljs-number">.5</span>
docker pull registry.cn-hangzhou.aliyuncs.com<span class="hljs-regexp">/inspur_research/</span>k8s-dns-dnsmasq-nanny-<span class="hljs-string">amd64:</span><span class="hljs-number">1.14</span><span class="hljs-number">.5</span>
网友贡献:
hub.c<span class="hljs-number">.163</span>.com<span class="hljs-regexp">/zhijiansd/</span>k8s-dns-kube-dns-<span class="hljs-string">amd64:</span><span class="hljs-number">1.14</span><span class="hljs-number">.5</span>
hub.c<span class="hljs-number">.163</span>.com<span class="hljs-regexp">/zhijiansd/</span>k8s-dns-dnsmasq-nanny-<span class="hljs-string">amd64:</span><span class="hljs-number">1.14</span><span class="hljs-number">.5</span>
hub.c<span class="hljs-number">.163</span>.com<span class="hljs-regexp">/zhijiansd/</span>k8s-dns-sidecar-<span class="hljs-string">amd64:</span><span class="hljs-number">1.14</span><span class="hljs-number">.5</span>
当然,还有广大的网友支持:(阿里镜像站)
https://dev.aliyun.com/search.html
原文地址:https://www.okay686.cn/982.html
============ 欢迎各位老板打赏~ ===========
与本文相关的文章
- · Amazon Linux 2023 安装Docker和Docker Compose
- · 修改Docker的默认网段
- · docker定时任务Mysql脚本
- · 解决Linux实例磁盘空间满问题
- · failed to fetch metadata: fork/exec /home/appuser/.docker/cli-plugins/docker-buildx: exec format error
- · Docker登录login报错Error saving credentials
- · docker安装mysql8注意事项
- · 黑群晖docker无法pull镜像,x509错误解决方法
- · Linux安装NFS
- · k3s+kuboard快速搭建K8s生产环境集群
- · 解决es报错:blocked by: [FORBIDDEN/12/index read-only / allow delete (api) ]
- · filebeat按docker容器名创建不同的索引