第1章 部署准备
1.1 下载搭建用到的镜像
百度云下载链接:https://pan.baidu.com/s/1geKEADt#list/path=%2F 密码:lbyp
1.2 上传镜像到私有仓库(也可上传到每个node节点)
docker load < dashboard.tar
docker load < podinfrastructure.tar
docker tag gcr.io/google_containers/kubernetes-dashboard-amd64:v1.7.1 10.0.0.10:5000/google_containers/kubernetes-dashboard-amd64:latest
docker tag registry.access.redhat.com/rhel7/pod-infrastructure:latest 10.0.0.10:5000/rhel7/pod-infrastructure:latest
docker push 10.0.0.10:5000/google_containers/kubernetes-dashboard-amd64:latest
docker push 10.0.0.10:5000/rhel7/pod-infrastructure:latest
1.3 编写yaml文件
1.3.1 编辑dashboard.yaml文件
cat dashboard.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
# Keep the name in sync with image version and
# gce/coreos/kube-manifests/addons/dashboard counterparts
name: kubernetes-dashboard-latest
namespace: kube-system
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
version: latest
kubernetes.io/cluster-service: "true"
spec:
containers:
- name: kubernetes-dashboard
image: registry.cn-hangzhou.aliyuncs.com/kube_containers/kubernetes-dashboard-amd64:v1.5.1
#image: daocloud.io/liukuan73/kubernetes-dashboard-amd64:v1.8.3
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
ports:
- containerPort: 9090
args:
- --apiserver-host=http://10.0.0.110:8080 (这里写master的地址)
livenessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: 30
timeoutSeconds: 30
1.4 编辑dashboardsvc.yaml文件
cat dashboardsvc.yaml
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
spec:
type: NodePort
selector:
k8s-app: kubernetes-dashboard
ports:
- port: 80
targetPort: 9090
1.5 启动
1.5.1 在master执行如下命令:
kubectl create -f dashboard.yaml
kubectl create -f dashboardsvc.yaml
1.6 验证
1.6.1 命令验证,master上执行如下命令
[root@k8s-master dashboard]# kubectl get deployment --all-namespaces
NAMESPACE NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
kube-system kubernetes-dashboard-latest 1 1 1 1 15m
[root@k8s-master dashboard]# kubectl get svc --all-namespaces
NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes 10.254.0.1 <none> 443/TCP 4d
kube-system kubernetes-dashboard 10.254.111.37 <none> 80/TCP 15m
[root@k8s-master dashboard]# kubectl get pod -o wide --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE
kube-system kubernetes-dashboard-latest-1990884246-332rd 1/1 Running 0 16m 10.255.39.5 k8s-master
1.7 界面验证,浏览器访问
http://10.0.0.110:8080/ui
1.8 销毁应用
1.8.1 在master上执行:
kubectl delete deployment kubernetes-dashboard-latest --namespace=kube-system
kubectl delete svc kubernetes-dashboard --namespace=kube-system
1.9、web界面