Kubernetes 集群搭建(下)
早安~~不知道昨天的文章各位有没有去尝试操作一下呢?没有的话建议再去看一下昨天的文章,这样可以更好的理解今天的文章! 今天的信息量比较大,大家可能会比较懵,建议多看几遍呀~ 下面开始今天的内容~
安装
yum安装需要的组件,我这里指定了具体的版本,我用的版本比较老,不过如果你是第一次用,问题不是很大,如果是大佬的话就不要喷我了~~~
yum -y install kubeadm-1.11.1
yum -y install kubectl-1.11.1
yum -y install kubelet-1.11.1
yum -y install kubernetes-cni-0.6.0
yum -y install docker-ce-17.03.0.ce-1.el7.centos
设置docker启动
systemctl enable docker
systemctl start docker
systemctl enable kubelet.service
systemctl start kubelet
这里就是比较艰难的部分了,网上的处理办法大同小异在这里给大家写一下我用的。
kubernetes是Google的,他的镜像托管在Google云上,国内下载比较坎坷,到这个地址去下载https://github.com/anjia0532/gcr.io_mirror 脚本在这里
vim pullimages.sh #这里指定了具体的版本,如果你不是这个版本的需要修改脚本呀~~
!/bin/bash
images=(kube-proxy-amd64:v1.11.1 kube-scheduler-amd64:v1.11.1 kube-controller-manager-amd64:v1.11.1
kube-apiserver-amd64:v1.11.1 etcd-amd64:3.2.18 coredns:1.1.3 pause:3.1 )
for imageName in ${images[@]} ; do
docker pull anjia0532/google-containers.$imageName
docker tag anjia0532/google-containers.$imageName k8s.gcr.io/$imageName
docker rmi anjia0532/google-containers.$imageName
done
其实呢kubeadm是可以一键部署Master节点的,不过呢为了给大家演示一下集群的搭建,我在这里写了一个kubeadm.yaml
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
controllerManagerExtraArgs:
horizontal-pod-autoscaler-use-rest-clients: "true"
horizontal-pod-autoscaler-sync-period: "10s"
node-monitor-grace-period: "10s"
apiServerExtraArgs:
runtime-config: "api/all=true"
kubernetesVersion: "v1.11.1"
这里将horizontal-pod-autoscaler-use-rest-clients: "true",这意味者,将来部署的kube-controlller-manger能够使用自定义资源进行自动水平拓展。
部署kunernetes Master节点
kubeadm init --config kubeadm.yaml
这里会生成一大串代码,我摘录一部分放在这里供大家参考
[init] using Kubernetes version: v1.11.1
[preflight] running pre-flight checks
.................
.................
.................
Your Kubernetes master has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
You can now join any number of machines by running the following on each node
as root:
kubeadm join 192.168.72.132:6443 --token q1nck1.4znr09ayrj6xpsdw --discovery-token-ca-cert-hash sha256:095e199243fad6ee350beb9869942f54ee4074cd5bcef1222a2cca712b8b4878
这个kubeadm join命令是来给Master节点添加工作节点的命令,当然我这里是单节点肯定是用不上了,不过我还是想给大家解释一下,你们知道就好。
配置安全配置文件的存放目录,这个在上述的代码中有提到,各位可以详细看一下
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
为啥要写这个呢?原因是kubernetes集群默认需要加密方式访问,这几条命令的作用在于将刚部署集群的配置文件放在当前用户的.kube目录下啊,kubectl默认使用这个目录下的授权信息访问kubernetes集群。
查看节点状态
[root@localhost yum.repos.d]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
localhost.localdomain NotReady master 6m v1.11.1
我这里部署的状态是NotReady,是因为我没有安装网络组件
安装网络插件
kubectl apply -f https://git.io/weave-kube-1.6
部署完成后我们可以通过kubectl重新检查Pod状态
[root@localhost yum.repos.d]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-78fcdf6894-8w8dx 1/1 Running 0 11m
coredns-78fcdf6894-w9sk2 1/1 Running 0 11m
etcd-localhost.localdomain 1/1 Running 0 10m
kube-apiserver-localhost.localdomain 1/1 Running 0 10m
kube-controller-manager-localhost.localdomain 1/1 Running 0 10m
kube-proxy-cpxmx 1/1 Running 0 11m
kube-scheduler-localhost.localdomain 1/1 Running 0 10m
weave-net-pt2l7 2/2 Running 0 23s
这里可以看到我部署的Pod都启动成功了,如果你也能看到这些,那么恭喜你,至此kubernetes Master节点部署完成咯
最后提一下,kubernetes也有可视化插件的,看起来还不错,由于这篇文章写的还是比较早的,今天才整理完毕,虚拟机被我给删掉了,没留截图,这里就不在赘述了,大家有兴趣可以自己操作一下,或者大家实在想看,可以留言呐!!呼声高的话我可以特意出一个文章给大家的~~~
最后马上过年了,提前祝各位鼠年行大运,工作顺利,吃嘛嘛香,身体倍儿棒,阖家欢乐~~
然后时间有限,小编能力有限,文章可能存在疏漏,各位大佬轻喷~~~~
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Novel-Cloud 1.1.0 发布,微服务技术栈学习型项目
Novel-Cloud 1.1.0版本发布了,主要改进包括: 更新 集成阿里云OSS,增加文件微服务。 引入RabbitMq实现应用解偶和流量削峰。 引入Redisson框架实现分布式锁 。 更新Swagger接口文档,增加部分接口的Authorization认证。 集成docker-maven-plugin插件,增加docker方式部署。 背景 小说网站业务难度适中,没有商城系统那种复杂的业务。但是作为互联网项目,一样需要面对大规模用户和海量数据的处理,所以高并发、高可用、高性能、高容错、可扩展性、可维护性也是小说网站设计需要考虑的问题,商城系统中所用到的技术同样适用于小说网站。综上所述,使用微服务架构来构建一个小说门户平台是非常有必要的,利用微服务构建的小说门户平台来学习现下流行技术相较于业务比较复杂的商场系统来说也是比较容易的,非常适合于没有实际微服务项目经验的同学用来学习和入门微服务技术栈。 介绍 Novel-Cloud是基于小说精品屋-plus构建的Spring Cloud 微服务小说门户学习平台,致力于原创文学阅读与写作,提供了爬虫工具用于开发过程中测试数据的采集。采用了S...
- 下一篇
HBase知识点集中总结
好程序员大数据培训分享:HBase知识点集中总结,HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。与FUJITSU Cliq等商用大数据产品不同,HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。一、hbase的特性1、hbase数据的终持久化存储是基于hsfs文件系统,存储容量几乎无限,可以随时在线扩容。2、hbase的数据增删改查功能模块是分布式系统。3、nosql数据库,表结构。二、HBase的存储HBase中的所有数据文件都存储在Hadoop HDFS文件系统上。 HFile, ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池