在前两篇文章中,我们介绍了在ubuntu 16.04环境下的kubernetes 1.6的安装。至此,kubernetes的master,minion端都已经安装好了,接下来我们需要用kubernetes部署一些应用,本文以kubernetes-dashboard为例,来介绍kubernetes的应用部署。
为了方便实验我们事先在minion上将需要的镜像下载下来
在minion上用docker pull 镜像
docker pull huanwei/kubernetes-dashboard-amd64
先为dashboard建立一个service文件yaml格式的
cat dashboard-svc.yaml
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
type: NodePort
ports:
- port: 80
targetPort: 9090
nodePort: 1080
selector:
k8s-app: kubernetes-dashboard
再为dashboard建立一个rc文件,也是yaml格式
cat dashboard-rc.yaml
# Example usage: kubectl create -f
kind: ReplicationController
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
replicas: 1
selector:
k8s-app: kubernetes-dashboard
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
spec:
containers:
- name: kubernetes-dashboard
image: huanwei/kubernetes-dashboard-amd64:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9090
protocol: TCP
args:
- --apiserver-host=http://192.168.100.20:8080
livenessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: 30
timeoutSeconds: 30
用kubectl create -f dashboard-svc.yaml,kubectl create -f dashboard-rc.yaml先后创建一个kubernetes-dashboard service和kubernetes-dashboard RC(ReplicationController)。
创建好后,可以用kubectl get pods -n kube-system 来查看创建的pod,用kubectl get svc -n kube-system 来查看service,用kubectl get rc -n kube-system来查看创建的RC。其中-n kube-system指明namespace,默认是default 。
如上图所示,红色框即为创建好的service,rc和pod
可以用kubectl get pods -n kube-system -o wide,来查看pod起在那个节点
由于在service中绑定了nodeport,所以可以用nodeip:nodeport来访问dashboard,如下图所示