这篇文章主要讲解了“怎么搭建单机版的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集群成功了。
我们可以尝试单击"Add"按钮添加一条记录并提交,提交后,数据就会被写入MySQL数据库中。
感谢各位的阅读,以上就是“怎么搭建单机版的kubernetes集群”的内容了,经过本文的学习后,相信大家对怎么搭建单机版的kubernetes集群这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/3992198/blog/3112794