哈喽!大家好,近几周在公司写了一套shell脚本,用来检查宿主机的各项指标,以及docker里面的服务,k8s等。有需要的朋友可以私聊哈。
我们言归正传,接着昨天的内容开始讲。
以下操作均在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.进行检查
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
6.使用token登录
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
7.网页登录
8.清除
# kubectl delete -f mysql-rc.yaml
# kubectl delete -f mysql-svc.yaml
# kubectl get pod
No resources found.
小结:
至此,我们得k8s就安装完成了,并进创建了一个简单的实例。可能到现在很多朋友们还不知道其中的很多命令,以及yaml的一些参数,不要焦急!下节我们就来讲解概念,下节我们先大致的讲解以下k8s的大致架构。如果有时间,可以再给大家带来一个小实例。大家有什么问题可以及时提问哦!