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

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

hot3.png

  • 第一章 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

转载于:https://my.oschina.net/u/3805335/blog/1863180

你可能感兴趣的文章
如何在目录中查找具有指定字符串的文件(shell)
查看>>
安卓学习笔记2
查看>>
选择排序
查看>>
DotNet(C#)自定义运行时窗体设计器 一
查看>>
P2627 修剪草坪[dp][单调队列]
查看>>
JS详细入门教程(上)
查看>>
Android学习笔记21-ImageView获取网络图片
查看>>
线段树分治
查看>>
git代码冲突
查看>>
lnmp1.3 配置pathinfo---thinkphp3.2 亲测有效
查看>>
查看Linux 系统的配置和增减用户/增减组/增减权限
查看>>
利用android studio 生成 JNI需要的动态库so文件
查看>>
poll
查看>>
衡量优秀的卓越的前端工程师
查看>>
解析查询 queryString 请求参数的函数
查看>>
学生选课系统数据存文件
查看>>
flutter进行自动编译操作步骤
查看>>
4.6 直接插入排序法
查看>>
我的毕设总结所用的技术和只是要点 基于stm32F4的AGV嵌入式控制系统的设计
查看>>
盘点国内外那些有野心的BI公司
查看>>