怎么搭建单机版的kubernetes集群

这篇文章主要讲解了“怎么搭建单机版的kubernetes集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建单机版的kubernetes集群”吧!

这篇文章主要讲解了“怎么搭建单机版的kubernetes集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建单机版的kubernetes集群”吧!

一、环境准备

成都创新互联公司公司2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、网站设计、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元商都做网站,已为上家服务,为商都各地企业和个人服务,联系电话:18980820575

1、CentOS7下安装etcd和kubernetes

[root@jin-120 ~]# yum install -y etcd kubernetes

2、关闭防火墙并设置开机不启动

[root@jin-120 ~]# systemctl stop firewalld[root@jin-120 ~]# systemctl disable firewalld

3、修改配置文件/etc/sysconfig/docker,把OPTIONS的内容设置为:

OPTIONS='--selinux-enabled=false --insecure-registry grc.io --log-driver=journald --signature-verification=false'

再修改kubernetes apiserver的配置文件/etc/kubernetes/apiserver,把--ADMISSION_CONTROL参数中的ServiceAcconut删除。

4、按顺序启动以下所有服务:

for i in etcd docker kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxydo    systemctl start $idone

至此,我们的单机版的kubernetes集群环境就安装好了。

二、启动服务

1、创建一个MySQL服务的RC定义文件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"

2、执行命令kubectl create -f mysql-rc.yaml创建RC,然后再用命令kubectl get rc查看创建的RC:

[root@jin-120 ~]# kubectl create -f mysql-rc.yamlreplicationcontroller "mysql" created[root@jin-120 ~]# kubectl get rcNAME      DESIRED   CURRENT   READY     AGEmysql     1         1         1         1m

再查看RC定义生成的pod:

[root@jin-120 ~]# kubectl get podNAME          READY     STATUS    RESTARTS   AGEmysql-xcgj0   1/1       Running   0          1m

3、我们再创建一个关于MySQL service的文件:vim mysql-svc.yaml,内容如下:

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

运行命令创建service:

[root@jin-120 ~]# kubectl create -f mysql-svc.yaml service "mysql" created

查看是否创建成功:

[root@jin-120 ~]# kubectl get svcNAME         CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGEkubernetes   10.254.0.1              443/TCP    1dmysql        10.254.70.236           3306/TCP   11s

可以看到,MySQLservice被分配了一个10.254.70.236的Cluster IP,这样,kubernetes集群中的其他新创建的Pod就可以通过service的Cluster IP+port6379来连接和访问了。

三、启动Tomcat应用

1、创建对应的RC文件myweb-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: 'mysql'          - name: MYSQL_SERVICE_PORT            value: '3306'

2、执行命令kubectl create -f myweb-rc.yaml创建RC,然后再用命令kubectl get rc查看创建的RC:

[root@jin-120 ~]# kubectl create -f myweb-rc.yaml replicationcontroller "myweb" created[root@jin-120 ~]# kubectl get rcNAME      DESIRED   CURRENT   READY     AGEmysql     1         1         1         13mmyweb     1         1         1         16s

再查看RC定义生成的pod:

[root@jin-120 ~]# kubectl get podsNAME          READY     STATUS    RESTARTS   AGEmysql-xcgj0   1/1       Running   2          15mmyweb-jmll1   1/1       Running   0          1m

3、我们再创建一个关于myweb service的文件:vim myweb-svc.yaml,内容如下:

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

创建并查看创建的service:

[root@jin-120 ~]# kubectl create -f myweb-svc.yaml service "myweb" created[root@jin-120 ~]# kubectl get svcNAME         CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGEkubernetes   10.254.0.1               443/TCP          1dmysql        10.254.70.236            3306/TCP         13mmyweb        10.254.218.251          8080:30001/TCP   9s

至此,我们的集群就已经搭建完毕。

四、测试

在浏览器里输入地址:http://虚拟机IP:30001/demo/:

看到如上网页,说明我们搭建的单机版kubernetes集群成功了。

我们可以尝试单击"Add"按钮添加一条记录并提交,提交后,数据就会被写入MySQL数据库中。


本文标题:怎么搭建单机版的kubernetes集群
URL链接:http://pwwzsj.com/article/iohjgg.html