全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

在centos 7中安装配置k8s集群的步骤详解

配置背景介绍

kubernetes是google开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用,简称:k8s(k与s之间有8个字母)

为什么要用kubernetes这么复杂的docker集群管理工具呢?一开始接触了docker内置的swarm,这个工具非常简单快捷的完成docker集群功能。但是在使用docker1.13内置的swarm做集群的时候遇到vip负载均衡没有正确映射端口到外网,或者出现地址被占用的情况,这对高可用性的需求是不利的,然而又没找到一个解决方案,只能转投k8s。

实验环境

  • 腾讯云
  • centos7.3 64位

安装

yum-config-manager --add-repo https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo 
yum makecache fast 
yum -y install docker-engine-1.13.1 
yum install epel-release -y 
yum remove -y docker-engine* 
yum install -y kubernetes etcd docker flannel 

修改配置文件

注意下面的10.135.163.237换成自己服务器ip

sed -i "s/localhost:2379/10.135.163.237:2379/g" /etc/etcd/etcd.conf

sed -i "s/localhost:2380/10.135.163.237:2380/g" /etc/etcd/etcd.conf

sed -i "s/10.135.163.237:2379/10.135.163.237:2379,http:\/\/127.0.0.1:2379/g" /etc/etcd/etcd.conf


sed -i "s/127.0.0.1:2379/10.135.163.237:2379/g" /etc/kubernetes/apiserver

sed -i "s/--insecure-bind-address=127.0.0.1/--insecure-bind-address=0.0.0.0/g" /etc/kubernetes/apiserver

sed -i "s/--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota/--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota/g" /etc/kubernetes/apiserver



sed -i "s/--hostname-override=127.0.0.1/--hostname-override=10.135.163.237/g" /etc/kubernetes/kubelet


sed -i "s/127.0.0.1:8080/10.135.163.237:8080/g" /etc/kubernetes/kubelet


sed -i "s/--address=127.0.0.1/--address=0.0.0.0/g" /etc/kubernetes/kubelet


sed -i "s/127.0.0.1:8080/10.135.163.237:8080/g" /etc/kubernetes/config

sed -i "s/127.0.0.1:2379/10.135.163.237:2379/g" /etc/sysconfig/flanneld 

修改host

vi /etc/hosts 
10.135.163.237 k8s_master 

添加网络

systemctl enable etcd.service

systemctl start etcd.service

etcdctl mk //atomic.io/network/config '{"Network":"172.17.0.0/16"}' 

启动服务

service docker start 
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler kube-proxy kubelet docker flanneld ; do systemctl restart $SERVICES; systemctl enable $SERVICES; systemctl status $SERVICES; done; 

第一个demo

编写文件a.yaml

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
 name: my-app
spec: 
 replicas: 2
 template:
 metadata:
 labels:
 app: my-app
 spec:
 containers:
 - name: my-app
 image: registry.alauda.cn/yubang/paas_base_test
 ports:
 - containerPort: 80
 command: ["/bin/bash", "/var/start.sh"] 
 resources: 
  limits: 
  cpu: 0.5 
  memory: 64Mi 

编写文件b.yaml

apiVersion: v1 
kind: Service 
metadata: 
 name: my-app-svc
 labels:
 app: my-app
spec: 
 ports:
 - port: 80
 targetPort: 80
 nodePort: 30964
 type: NodePort
 selector:
 app: my-app

创建服务

kubectl create -f a.yaml --validate 
kubectl create -f b.yaml --validate 

删除服务

kubectl delete -f a.yaml 
kubectl delete -f b.yaml 

增加子节点

安装软件

yum-config-manager --add-repo https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo 
yum makecache fast 
yum -y install docker-engine-1.13.1 
yum install epel-release -y 
yum remove -y docker-engine* 
yum install -y kubernetes docker flannel 

修改配置文件(10.135.163.237为主节点ip,139.199.0.29为当前节点ip)

sed -i "s/--hostname-override=127.0.0.1/--hostname-override=139.199.0.29/g" /etc/kubernetes/kubelet


sed -i "s/127.0.0.1:8080/10.135.163.237:8080/g" /etc/kubernetes/kubelet


sed -i "s/--address=127.0.0.1/--address=0.0.0.0/g" /etc/kubernetes/kubelet

sed -i "s/127.0.0.1:8080/10.135.163.237:8080/g" /etc/kubernetes/config

sed -i "s/127.0.0.1:2379/10.135.163.237:2379/g" /etc/sysconfig/flanneld

sed -i "s/--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota/--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota/g" /etc/kubernetes/apiserver

启动服务

service docker start

for SERVICES in kube-proxy kubelet docker flanneld; do 
  systemctl restart $SERVICES
  systemctl enable $SERVICES
  systemctl status $SERVICES
 done;

在主服务器查看节点

kubectl get node 

重启服务(重新加入集群)

systemctl restart kube-apiserver.service 

删除节点

kubectl delete node 节点ip 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。


# centos7  # 集群  # k8s  # 安装k8s  # K8ssandra入门教程之Linux上部署K8ssandra到Kubernetes的过程  # Linux安装Kubernetes(k8s)超详细教程  # 配置文件  # 第一个  # 管理系统  # 腾讯  # 有一定  # 可用性  # 要用  # 这对  # 这篇文章  # 等功能  # 谢谢大家  # 重启  # 又没  # 开源  # 转投  # 负载均衡  # 但是在  # 有疑问  # localhost  # ip 


相关文章: 宿州网站制作公司兴策,安徽省低保查询网站?  开源网站制作软件,开源网站什么意思?  山东网站制作公司有哪些,山东大源集团官网?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  建站主机空间推荐 高性价比配置与快速部署方案解析  建站之星微信建站一键生成小程序+多端营销系统  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何通过宝塔面板实现本地网站访问?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何挑选高效建站主机与优质域名?  详解jQuery中基本的动画方法  北京网站制作公司哪家好一点,北京租房网站有哪些?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  建站之星会员如何解锁更多建站功能?  如何通过智能用户系统一键生成高效建站方案?  建站主机无法访问?如何排查域名与服务器问题  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  如何在建站主机中优化服务器配置?  建站之星如何修改网站生成路径?  北京的网站制作公司有哪些,哪个视频网站最好?  黑客如何利用漏洞与弱口令入侵网站服务器?  如何登录建站主机?访问步骤全解析  建站之星2.7模板快速切换与批量管理功能操作指南  香港服务器租用费用高吗?如何避免常见误区?  建站之星代理如何优化在线客服效率?  如何在景安云服务器上绑定域名并配置虚拟主机?  如何在阿里云通过域名搭建网站?  如何选择靠谱的建站公司加盟品牌?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  如何挑选优质建站一级代理提升网站排名?  建站主机CVM配置优化、SEO策略与性能提升指南  西安专业网站制作公司有哪些,陕西省建行官方网站?  网站制作壁纸教程视频,电脑壁纸网站?  建站之星云端配置指南:模板选择与SEO优化一键生成  实现虚拟支付需哪些建站技术支撑?  如何在建站之星绑定自定义域名?  建站DNS解析失败?如何正确配置域名服务器?  建站之星后台密码遗忘或太弱?如何重置与强化?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  建站之星各版本价格是多少?  C#怎么使用委托和事件 C# delegate与event编程方法  建站主机是否等同于虚拟主机?  高端企业智能建站程序:SEO优化与响应式模板定制开发 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。