从docker到kubernetes实践全接触第二版的java web例子

1.关闭centos自带的防火墙服务
systemctl disable firewalld
systemctl stop firewalld

2.安装rhsm,下载mysql镜像,下载 registry.access.redhat.com/rhel7/pod-infrastructure:latest镜像。
yum install *rhsm* -y
docker pull mysql
docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest

3.装etcd和Kubernete,此操作会自动安装docker。当然自己机器先前安装了docker也没关系,毕竟上一步我就已经拉取了镜像,所有docker肯定是早就安装好了的。
yum install -y etcd kubernetes

3.安装好软件后,修改两个配置文件(其他配置文件使用系统默认的配置参数即可)。
Docker配置文件为/etc/sysconfig/docker,其中OPTIONS的内容设置为:
OPTIONS='--selinux-enabled=false --insecure-registry gcr.io'
Kubernetes apiserver配置文件为/etc/kubernetes/apiserver,把
–admission_control参数中的ServiceAccount删除。

4.启动所有的服务

systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy

5.启动MySQL服务
使用vim命令为mysql服务创建一个RC定义文件

vim 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
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "123456"

使用create命令用mysql-rc.yaml文件创建出一个RC
kubectl create -f mysql-rc.yaml

然后我们创建一个与之关联的kubernetes service–MySQL定义文件
vim mysql-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  ports:
    - port: 3306
  selector:
    app: mysql

通过kubectl create命令创建Service对象:
kubectl create -f mysql-svc.yaml
kubectl get svc命令查询

6.启动Tomcat应用

步骤和启动MySQL相同,先创建一个RC文件
vim myweb-rc.yaml

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
          env:
          - name: MYSQL_SERVICE_HOST
            value: 'mysql'
          - name: MYSQL_SERVICE_PORT
            value: '3306'

最后,创建对应的Service。
vim myweb-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: myweb
spec:
  type: NodePort
  ports:
    - port: 8080
      nodePort: 30001
  selector:
    app: myweb

至此,第1个Kubernetes例子搭建完成了。

Logo

开源、云原生的融合云平台

更多推荐