博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
K8s权威指南学习
阅读量:6137 次
发布时间:2019-06-21

本文共 2691 字,大约阅读时间需要 8 分钟。

第一章 k8s入门(简单的Java web项目) 

环境: VMware Workstation在本机虚拟一个64位的Centos7虚拟机

环境准备

  1. 关闭防火墙

    systemctl disable firewalldsystemctl stop firewalld
  2. 安装etcd和Kubernetes软件(会自动安装Docker软件)

    yum install -y etcd kubernetes
  3. 按顺序启动所有服务

    systemctl start etcdsystemctl start dockersystemctl start kube-apiserversystemctl start kube-controller-managersystemctl start kube-schedulersystemctl start kubeletsystemctl start kube-proxy

启动MySQL服务

  1. MySQL镜像

    docker pull daocloud.io/library/mysql:latest
  2. 构建Mysql RC定义文件(可以使用vim创建),命名mysql-rc.yaml 内容如下:

    apiVersion: v1kind: ReplicationControllermetadata: 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"
  3. 发布到kubernetes集群中,在master节点执行命令(注:此时可能出现问题,如:问题1:no resource found,问题2:status的状态是ContainerCreating而不是running,如果出现此问题请看

    $ kubectl create -f mysql-rc.yaml replicationcontroller "mysql" created

    查看创建的rc

    $ kubectl get rc NAME DESIRED CURRENT READY AGE mysql 1 1 1 14s

    查看pod创建情况

    $ kubectl get pods NAME READY STATUS RESTARTS AGE mysql-srd1m 1/1 Running 0 41s
  4. 创建一个与之关联的k8s Service-Mysql的定义文件(文件名为mysql-svc.yaml),内容如下:

    apiVersion: v1kind: Servicemetadata:name: mysqlspec:ports:- port: 3306selector:app: mysql

    运行kubectl命令,创建service

    kubectl create -f mysql-svc.yaml

    查看刚刚创建的service

    $ kubectl get svcNAME CLUSTER-IP EXTERNAL-IP PORT(S) AGEkubernetes 10.254.0.1 
    443/TCP 8dmysql 10.254.55.41
    3306/TCP 13s

启动Tomcat服务

  1. 拉取Tomcat镜像
    docker pull kubeguide/tomcat-app:v2
  2. 构建Tomcat RC定义文件,命名myweb-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
    完成rc创建和验证
    $ kubectl create -f myweb-rc.yaml 	replicationcontroller "myweb" created	$ kubectl get rc 	NAME DESIRED CURRENT READY AGE	mysql 1 1 1 23h	myweb 2 2 2 12s	$ kubectl get pods	NAME READY STATUS RESTARTS AGE	mysql-srd1m 1/1 Running 1 23h	myweb-fqlvz 1/1 Running 0 40s	myweb-ggrlg 1/1 Running 0 40s
  3. 创建对应的Service,文件名(myweb-svc.yaml),内容如下
    apiVersion: v1	kind: Service	metadata: 	name: myweb	spec:	type: NodePort	ports:	- port: 8080	nodePort: 30001	selector:	app: myweb
    创建并验证
    $ kubectl create -f myweb-svc.yaml 	service "myweb" created	$ kubectl get services	NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE	kubernetes 10.254.0.1 
    443/TCP 8d mysql 10.254.55.41
    3306/TCP 42m myweb 10.254.237.187
    8080:30001/TCP 21s

本文转移开源中国-

转载地址:http://lluya.baihongyu.com/

你可能感兴趣的文章
HDOJ 2020 绝对值排序
查看>>
HDOJ/HDU 2560 Buildings(嗯~水题)
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
[20170628]12C ORA-54032.txt
查看>>
除以2
查看>>
高可用集群原理解析
查看>>
Nginx配置URL转向tomcat
查看>>
极客Web前端开发资源大荟萃#001
查看>>
让div固定在某个位置
查看>>
Java开发环境Docker镜像
查看>>
从无到有,WebService Apache Axis2初步实践
查看>>
任务调度(一)——jdk自带的Timer
查看>>
UIKit框架(15)PCH头文件
查看>>
整理看到的好的文档
查看>>
Linux磁盘管理和文件系统管理
查看>>
linux运维人员的成功面试总结案例分享
查看>>
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>