这篇文章主要讲解了“怎么搭建单机版的kubernetes集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建单机版的kubernetes集群”吧!
创新互联公司是一家专注于成都做网站、成都网站设计与策划设计,乌鲁木齐网站建设哪家好?创新互联公司做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:乌鲁木齐等地区。乌鲁木齐做网站价格咨询:028-86922220
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-proxy do systemctl start $i done
至此,我们的单机版的kubernetes集群环境就安装好了。
1、创建一个MySQL服务的RC定义文件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: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.yaml replicationcontroller "mysql" created [root@jin-120 ~]# kubectl get rc NAME DESIRED CURRENT READY AGE mysql 1 1 1 1m
再查看RC定义生成的pod:
[root@jin-120 ~]# kubectl get pod NAME READY STATUS RESTARTS AGE mysql-xcgj0 1/1 Running 0 1m
3、我们再创建一个关于MySQL service的文件:vim mysql-svc.yaml,内容如下:
apiVersion: v1 kind: Service metadata: name: mysql spec: ports: - port: 3306 selector: app: mysql
运行命令创建service:
[root@jin-120 ~]# kubectl create -f mysql-svc.yaml service "mysql" created
查看是否创建成功:
[root@jin-120 ~]# kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.254.0.1443/TCP 1d mysql 10.254.70.236 3306/TCP 11s
可以看到,MySQLservice被分配了一个10.254.70.236的Cluster IP,这样,kubernetes集群中的其他新创建的Pod就可以通过service的Cluster IP+port6379来连接和访问了。
1、创建对应的RC文件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'
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 rc NAME DESIRED CURRENT READY AGE mysql 1 1 1 13m myweb 1 1 1 16s
再查看RC定义生成的pod:
[root@jin-120 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE mysql-xcgj0 1/1 Running 2 15m myweb-jmll1 1/1 Running 0 1m
3、我们再创建一个关于myweb service的文件:vim myweb-svc.yaml,内容如下:
apiVersion: v1 kind: Service metadata: name: myweb spec: 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 svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.254.0.1443/TCP 1d mysql 10.254.70.236 3306/TCP 13m myweb 10.254.218.251 8080:30001/TCP 9s
至此,我们的集群就已经搭建完毕。
在浏览器里输入地址:http://虚拟机IP:30001/demo/:
看到如上网页,说明我们搭建的单机版kubernetes集群成功了。
我们可以尝试单击"Add"按钮添加一条记录并提交,提交后,数据就会被写入MySQL数据库中。
感谢各位的阅读,以上就是“怎么搭建单机版的kubernetes集群”的内容了,经过本文的学习后,相信大家对怎么搭建单机版的kubernetes集群这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!