带你玩转kubernetes-k8s(第二篇:dashboard的安装和简单实例的运行)

      哈喽!大家好,近几周在公司写了一套shell脚本,用来检查宿主机的各项指标,以及docker里面的服务,k8s等。有需要的朋友可以私聊哈。

      我们言归正传,接着昨天的内容开始讲。

 一.安装dashboard

  以下操作均在k8s-master中执行。

  下载yaml文件到本地

wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

  由于国内无法从谷歌仓库k8s.gcr.io下载镜像,这里使用另一个镜像仓库拉取

在kubernetes-dashboard.yaml中修改镜像地址
k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1 为 mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1

修改Dashboard Service 为NodePort类型

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard

2.进行部署

kubectl create -f kubernetes-dashboard.yaml

3.进行检查

带你玩转kubernetes-k8s(第二篇:dashboard的安装和简单实例的运行)_第1张图片

4.创建管理员

[root@k8s-1master ~]#  cat k8s-admin.yaml 
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: admin
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin
  namespace: kube-system
kubectl create -f k8s-admin.yaml 

5.查看token

带你玩转kubernetes-k8s(第二篇:dashboard的安装和简单实例的运行)_第2张图片

带你玩转kubernetes-k8s(第二篇:dashboard的安装和简单实例的运行)_第3张图片

6.使用token登录

带你玩转kubernetes-k8s(第二篇:dashboard的安装和简单实例的运行)_第4张图片

带你玩转kubernetes-k8s(第二篇:dashboard的安装和简单实例的运行)_第5张图片

二、部署一个简单的实例mysql+webapp

1.创建MySQL的RC定义文件

# cat mysql-rc.yaml 
apiVersion: v1
kind: ReplicationController
metadata:
  name: mysql
spec:
  replicas: 1
  selector:
    app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - name: mysql
        image: mysql:5.7
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "123456"

2.创建与之关联的SVC文件

# cat mysql-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  ports:
    - port: 3306
  selector:
    app: mysql

3.创建tomcat的RC文件

# cat web-rc.yaml 
apiVersion: v1
kind: ReplicationController
metadata:
  name: myweb
spec:
  replicas: 2
  selector:
    app: myweb
  template:
    metadata:
      labels:
        app: myweb
    spec:
      containers:
      - name: myweb
        image: kubeguide/tomcat-app:v1
        ports:
        - containerPort: 8080
        env:
        - name: MYSQL_SERVICE_HOST
          value: 'mysql'
        - name: MYSQL_SERVICE_PORT
          value: '3306'

4.创建对应的SVC文件

# cat web-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: myweb
spec:
  type: NodePort
  ports:
    - port: 8080
      nodePort: 30002
  selector:
    app: myweb

5.分别将MySQL和tomcat的RC,SVC在K8S上发布

# kubectl create -f mysql-rc.yaml          
# kubectl create -f mysql-svc.yaml
# kubectl create -f web-rc.yaml
# kubectl create -f web-svc.yaml 

6.查看pod和svc

带你玩转kubernetes-k8s(第二篇:dashboard的安装和简单实例的运行)_第6张图片

7.网页登录

带你玩转kubernetes-k8s(第二篇:dashboard的安装和简单实例的运行)_第7张图片

8.清除

# kubectl delete -f mysql-rc.yaml
# kubectl delete -f mysql-svc.yaml 
# kubectl get pod
No resources found.

小结:

        至此,我们得k8s就安装完成了,并进创建了一个简单的实例。可能到现在很多朋友们还不知道其中的很多命令,以及yaml的一些参数,不要焦急!下节我们就来讲解概念,下节我们先大致的讲解以下k8s的大致架构。如果有时间,可以再给大家带来一个小实例。大家有什么问题可以及时提问哦!

 

 

 

你可能感兴趣的:(kubernetes)