这篇文章主要讲解了“怎么搭建单机版的kubernetes集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建单机版的kubernetes集群”吧!
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.1 <none> 443/TCP 1d mysql 10.254.70.236 <none> 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.1 <none> 443/TCP 1d mysql 10.254.70.236 <none> 3306/TCP 13m myweb 10.254.218.251 <nodes> 8080:30001/TCP 9s
至此,我们的集群就已经搭建完毕。
在浏览器里输入地址:http://虚拟机IP:30001/demo/:
看到如上网页,说明我们搭建的单机版kubernetes集群成功了。
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。
Copyright © 2009-2022 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 特网科技 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 百度云 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站