练习:tomcat+mysql

2022-03-27  本文已影响0人  Robin92

所有的资源都清理。
因为 Pod 访问地址不固定,他们之间是通过 vIP(clusterIP)。

实战练习

# tomcat-svc.yml
apiVersion: v1
kind: Service
metadata:
  name: myweb
spec:
  type: NodePort
  ports:
    - port: 8080
      nodePort: 30008
  selector:
    app: myweb
# tomcat-rc.yml
apiVersion: v1
kind: ReplicationController
metadata:
  name: myweb
spec:
  replicas: 1
  selector:
    app: myweb
  template:
    metadata:
      labels:
        app: myweb
    spec:
      containers:
        - name: myweb
          image: 172.16.156.128:5000/tomcat-app:v2
          ports:
          - containerPort: 8080
          env:
          - name: MYSQL_SERVICE_HOST
            value: 'mysql' # 改为 clusterIP 的地址,就是 svc/mysql 的地址
          - name: MYSQL_SERVICE_PORT
            value: '3306'
# mysql-svc.yml
apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  ports:
    - port: 3306
      targetPort: 3306
  selector:
    app: mysql
# mysql-rc.yml
apiVersion: v1
kind: ReplicationController
metadata:
  name: mysql
spec:
  replicas: 1
  selector:
    app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - name: mysql
          image: 172.16.156.128/mysql:5.7
          ports:
          - containerPort: 3306
          env:
          - name: MYSQL_ROOT_PASSWORD
            value: '123456'
kubectl create -f mysql-rc.yml
kubectl create -f mysql-svc.yml
kubectl create -f tomcat-rc.yml
kubectl create -f tomcat-svc.yml

获取信息,当前因为没有镜像,所以启动不起来

[root@k8s-master ~]# kubectl get all
# ...
NAME             READY     STATUS             RESTARTS   AGE
po/mysql-18wj3   0/1       ImagePullBackOff   0          9h
[root@k8s-master ~]#

从网络上找到镜像并push到自己的私有仓库。

docker search mysql:5.7
docker pull docker.io/liyupei/mysql:5.7 # 找到一个进行拉取
docker tag 98455b9624a9 172.16.156.128:5000/mysql:5.7
docker push 172.16.156.128:5000/mysql:5.7

docker search tomcat # 网上搜索并没有 tomcat-app:v2 的镜像dock
docker pull docker.io/tomcat
docker tag docker.io/tomcat 172.16.156.128:5000/tomcat-app:v2
docker push 172.16.156.128:5000/tomcat-app:v2

# 通过 kubectl edit xx xxx 来修改 rc 和 pod 中的镜像地址

所有的项目修改成功启动后是这样的结果。

启动成功

此时打开网页 172.16.156.128:30008 地址,可以正常访问到 tomcat 的 404 页面,说明成功了。但因为服务不是教程中一摸一样的,所以访问不成功。

# 扩展 myweb 个数
kubectl scale rc myweb --replicas=3
上一篇 下一篇

猜你喜欢

热点阅读