博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单节点k8s的一个小例子 webapp+mysql
阅读量:6451 次
发布时间:2019-06-23

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

安装kubernetes

准备一台centos7
1) 关闭firewalld 和 selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
2)安装etcd和kubernetes
yum install -y etcd kubernetes
3)修改配置文件
vi /etc/sysconfig/docker
将--selinux-enabled 改为 --selinux-enabled=false --insecure-registry gcr.io
vi /etc/kubernetes/apiserver
把--admission_control参数中的ServiceAccount删除
4)准备工作
yum install python-rhsm-certificates
如果提示python-rhsm-certificates-1.19.10-1.el7_4.x86_64 被已安装的 subscription-manager-rhsm-certificates-
1.20.11-1.el7.centos.x86_64 取代
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-
1.el7_4.x86_64.rpm
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm |cpio -iv --to-stdout ./etc/r hsm/ca/redhat-
uep.pem > /etc/r hsm/ca/redhat-uep.pem
配置docker加速器
vi /etc/docker/daemon.json//加入如下内容
{
"registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"]
}
5)按顺序启动所有服务
for s in etcd docker kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy
do
systemctl start $s
done
6)创建一个rc文件

vim mysql-rc.yaml 

apiVersion: v1kind: ReplicationControllermetadata:  name: mysqlspec:  replicas: 1  selector:    app: mysql  template:    metadata:      labels:        app: mysql    spec:      containers:      - name: mysql        image: mysql:5.6        ports:        - containerPort: 3306        env:        - name: MYSQL_ROOT_PASSWORD          value: "123456"

  

docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest

docker pull mysql:5.6
kubectl create -f mysql-rc.yaml
kubectl get rc
kubectl get pods

7)创建一个svc文件

 vim mysql-svc.yaml 

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

  

kubectl create -f mysql-svc.yaml
kubectl get svc
8)创建web rc文件
vim web-rc.yaml 

kind: ReplicationControllermetadata:  name: mywebspec:  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: '10.254.170.174' #这里的IP需要通过kubectl get svc 查看mysql的cluster ip          - name: MYSQL_SERVICE_PORT            value: '3306'

  

[root@weifeng04 ~]# kubectl get svcNAME         CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGEkubernetes   10.254.0.1       
443/TCP 3dmysql 10.254.170.174
3306/TCP 3d

  

kubectl create -f web-rc.yaml
9)创建web svc文件
vim web-svc.yamly

kind: Servicemetadata:  name: mywebspec:  type: NodePort  ports:    - port: 8080      nodePort: 30001  selector:    app: myweb

  

kubectl create -f web-svc.yaml

10)访问
iptables -P FORWARD ACCEPT

curl 本机ip:30001/demo/ 或浏览器

[root@weifeng04 ~]# curl 192.168.20.99:30001/demo/
HPE University Docker&Kubernetes Learning

Congratulations!!

  

 

 

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

你可能感兴趣的文章
POJ 1007
查看>>
Android 多个Activity 跳转及传参
查看>>
中文文本预处理流程(带你分析每一步)
查看>>
anroid 广播
查看>>
AJAX POST&跨域 解决方案 - CORS
查看>>
如何设计企业内部的数据平台?
查看>>
关于最小生成树中的kruskal算法中判断两个点是否在同一个连通分量的方法总结...
查看>>
【译】Linux系统和性能监控(4)
查看>>
开篇,博客的申请理由
查看>>
点滴积累【C#】---C#实现上传word以流形式保存到数据库和读取数据库中的word文件。...
查看>>
Ubuntu常用笔记
查看>>
Token和session 详解
查看>>
JMeter IP欺骗压测
查看>>
Serializers 序列化组件
查看>>
最简单的RPC框架实现
查看>>
Servlet 技术全总结 (已完成,不定期增加内容)
查看>>
[JSOI2008]星球大战starwar BZOJ1015
查看>>
CountDownLatch与thread-join()的区别
查看>>
linux下MySQL安装登录及操作
查看>>
二项队列
查看>>