kubernetes 从一个简单例子开始
参考 《kubernetes 权威指南》一节的 从一个简单例子开始,操作实录。
一、Java Web 应用结构
二、启动MySql服务
1、首先为MySql服务创建一个RC定义文件:mysql-rc.yaml(这里要注意镜像版本最新的mysql需要认证,本例子采用mysql:5.7)
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、发布到Kubernetes集群(Master节点执行命令)
1)、创建RC
# kubectl create -f mysql-rc.yaml
2)、验证创建是否成功
#
kubectl get rc
#kubectl get pods
三、构建Mysql Kubernetes Service定义文件mysql-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
# kubectl create -f mysql-svc.yaml
# kubectl get svc
四、启动Tomcat应用
1、创建对应的RC文件myweb-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: myweb
spec:
replicas: 1
selector:
app: myweb
template:
metadata:
labels:
app: myweb
spec:
containers:
- name: myweb
image: kubeguide/tomcat-app:v1
ports:
- containerPort: 8080
# kubectl create -f myweb-rc.yaml
# kubectl get pod
五、构建Tomcat Kubernetes Service定义文件myweb-svc.yaml
kind: Service
metadata:
name: myweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30002
selector:
app: myweb
# kubectl create -f myweb-svc.yaml
# kubectl get svc
六、通过浏览器访问页面
防火墙需要提前关闭:
systemctl stop firewalld