设为首页 收藏本站
查看: 855|回复: 0

[经验分享] 容器编排之Kubernetes1.7.6安装与配置

[复制链接]

尚未签到

发表于 2018-1-5 15:38:50 | 显示全部楼层 |阅读模式
  kubernetes官网的安装教程是采用kubeadm init的方式,但是在生产环境当中,可能需要独自手动安装k8s,本文采用源码安装的方式,一步步搭建k8s的master节点和node节点。
  系统配置:Centos7.3
  Docker版本:1.12.6

一、创建 kubernetes 各组件 TLS 加密通信的证书和秘钥
  kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 和其它证书;
  生成的 CA 证书和秘钥文件如下:


  • ca-key.pem
  • ca.pem
  • kubernetes-key.pem
  • kubernetes.pem
  • kube-proxy.pem
  • kube-proxy-key.pem
  • admin.pem
  • admin-key.pem
  使用证书的组件如下:


  • etcd:使用 ca.pem、kubernetes-key.pem、kubernetes.pem;
  • kube-apiserver:使用 ca.pem、kubernetes-key.pem、kubernetes.pem;
  • kubelet:使用 ca.pem;
  • kube-proxy:使用 ca.pem、kube-proxy-key.pem、kube-proxy.pem;
  • kubectl:使用 ca.pem、admin-key.pem、admin.pem;
  kube-controller、kube-scheduler 当前需要和 kube-apiserver 部署在同一台机器上且使用非安全端口通信,故不需要证书。
  kubernetes版本:1.7.6
  kubernetes下载地址:https://www.kubernetes.org.cn/2729.html
  

下载下来,解压缩:  
tar xzvf kubernetes.tar.gz
  
cd kubernetes
  

  执行get-kube-binaries.sh下载server和client的可执行文件
  

$ ./cluster/get-kube-binaries.sh
  
Kubernetes>7.6  
Server: linux
/amd64  (to override, set KUBERNETES_SERVER_ARCH)  
Client: linux
/amd64  (autodetected)  
。。。。。。。。。。。。。。。
  
。。。。。。。。。。。。。。。
  

  

  

  

  

  
等待很长时间
  

  服务端可执行文件下载到了server文件夹,没有被自动展开
  

[iyunv@bogon kubernetes]# cd server/  
[iyunv@bogon server]# ls
  
kubernetes
-manifests.tar.gz  kubernetes-salt.tar.gz  kubernetes-server-linux-amd64.tar.gz  README  
[iyunv@bogon server]# tar zxvf kubernetes
-server-linux-amd64.tar.gz  
kubernetes
/  
kubernetes
/server/  
kubernetes
/server/bin/  
kubernetes
/server/bin/cloud-controller-manager  
kubernetes
/server/bin/kube-aggregator.tar  
kubernetes
/server/bin/kube-proxy.tar  
kubernetes
/server/bin/kube-proxy  
kubernetes
/server/bin/kube-controller-manager.tar  
kubernetes
/server/bin/kube-controller-manager  
kubernetes
/server/bin/kube-apiserver  
kubernetes
/server/bin/kube-aggregator.docker_tag  
kubernetes
/server/bin/kube-controller-manager.docker_tag  
kubernetes
/server/bin/kubefed  
kubernetes
/server/bin/kube-scheduler.tar  
kubernetes
/server/bin/kube-apiserver.tar  
kubernetes
/server/bin/kubeadm  
kubernetes
/server/bin/kube-scheduler.docker_tag  
kubernetes
/server/bin/hyperkube  
kubernetes
/server/bin/kube-scheduler  
kubernetes
/server/bin/cloud-controller-manager.tar  
kubernetes
/server/bin/kubelet  
kubernetes
/server/bin/kube-proxy.docker_tag  
kubernetes
/server/bin/kube-apiserver.docker_tag  
kubernetes
/server/bin/kubectl  
kubernetes
/server/bin/apiextensions-apiserver  
kubernetes
/server/bin/cloud-controller-manager.docker_tag  
kubernetes
/server/bin/kube-aggregator  
kubernetes
/LICENSES  
kubernetes
/addons/  
kubernetes
/kubernetes-src.tar.gz  
[iyunv@bogon server]#
  

  这里就是最新版本的kubernetes可执行文件列表。要构建kubernetes集群,需要在master节点启动kube-apiserver, kube-controller-manager, kube-scheduler,在每个节点启动kubelet和kube-proxy(如果pod采用的网络模式为host模式,kube-proxy可以不安装,只安装kubelet即可)。这里我们不直接执行,采用systemctl管理。
  

[iyunv@node1 ~]# vim /usr/lib/systemd/system/kube-apiserver.service  

  
[Unit]
  
Description
=Kubernetes API Service  
Documentation
=https://github.com/GoogleCloudPlatform/kubernetes  
After=network.target
  
After=etcd.service
  

  
[Service]
  
EnvironmentFile=-/etc/kubernetes/config
  
EnvironmentFile=-/etc/kubernetes/apiserver
  
ExecStart=/usr/bin/kube-apiserver \
  $KUBE_LOGTOSTDERR \
  $KUBE_LOG_LEVEL \
  $KUBE_ETCD_SERVERS \
  $KUBE_API_ADDRESS \
  $KUBE_API_PORT \
  $KUBELET_PORT \
  $KUBE_ALLOW_PRIV \
  $KUBE_SERVICE_ADDRESSES \
  $KUBE_ADMISSION_CONTROL \
  $KUBE_API_ARGS
  
Restart=on-failure
  
Type=notify
  
LimitNOFILE=65536
  

  
[Install]
  
WantedBy=multi-user.target
  

  kube-controller-manager.service
  

[iyunv@node1 ~]# vim /usr/lib/systemd/system/kube-controller-manager.service  

  
Description
=Kubernetes Controller Manager  
Documentation
=https://github.com/GoogleCloudPlatform/kubernetes  

  
[Service]
  
EnvironmentFile=-/etc/kubernetes/config
  
EnvironmentFile=-/etc/kubernetes/controller-manager
  
ExecStart=/usr/bin/kube-controller-manager \
  $KUBE_LOGTOSTDERR \
  $KUBE_LOG_LEVEL \
  $KUBE_MASTER \
  $KUBE_CONTROLLER_MANAGER_ARGS
  
Restart=on-failure
  
LimitNOFILE=65536
  

  
[Install]
  
WantedBy=multi-user.target
  

  

kube-scheduler.service   

  

[iyunv@node1 ~]# vim /usr/lib/systemd/system/kube-scheduler.service  

  
[Unit]
  
Description
=Kubernetes Scheduler Plugin  
Documentation
=https://github.com/GoogleCloudPlatform/kubernetes  

  
[Service]
  
EnvironmentFile=-/etc/kubernetes/config
  
EnvironmentFile=-/etc/kubernetes/scheduler
  
ExecStart=/usr/bin/kube-scheduler \
  $KUBE_LOGTOSTDERR \
  $KUBE_LOG_LEVEL \
  $KUBE_MASTER \
  $KUBE_SCHEDULER_ARGS
  
Restart=on-failure
  
LimitNOFILE=65536
  

  
[Install]
  
WantedBy=multi-user.target
  

  接着执行命令:
  

systemctl --system daemon-reload  
systemctl start kube
-apiserver.service  
systemctl start kube
-controller-manager.service  
systemctl start kube
-scheduler.service  

  这样,master上的kubernetes组件就全部跑起来了,可以使用kubectl检查是否运行正常:
  

将k8s的命令全部复制到PATH路径下  
[iyunv@node1 bin]# cd
/root/kubernetes/server/kubernetes/server/bin  
[iyunv@node1 bin]# cp kube
* /usr/bin/  

  
查看master信息
  
[iyunv@node1 bin]# kubectl cluster
-info  
Kubernetes master
is running at https://172.17.100.13:6443  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431921-1-1.html 上篇帖子: docker k8s 1.3.8 + flannel 下篇帖子: k8s官方安装版本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表