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

[经验分享] 使用官方Aansible部署Kubernetes-Lope的运维杂货铺

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-9-15 11:40:43 | 显示全部楼层 |阅读模式
一、部署环境
  参考文章:透過官方 Ansible 部署 Kubernetes
  说明:由于安装软件需要在外网下载,所以此文档暂只适合能使用外网环境的主机使用,即能访问:google 的主机

1、安装主机
  本次部署采用exsi6.7虚拟机Centos7,配置情况如表:

IP Address
主机
CPU
内存
192.168.123.121
master1
1
2G
192.168.123.122
node1
1
2G
192.168.123.123
node2
1
2G
2、设置主机免密设置

设置节点名称和添加hosts:
  分别在各个主机中修改/etc/hostname名称和/etc/hosts里添加节点信息。
  

#修改为master1  

  
vim /etc/hostname
  

  
#添加节点信息
  
vim /etc/hosts
  

  
192.168.123.121 master1
  
192.168.123.122 node1
  
192.168.123.123 node2
  

  

添加免密设置
  分别在各个主机添加密钥对:
  

ssh-keygen -t rsa  

  使用master1作为发布机,进行对其他主机免密设置:
  

ssh master1 "cat  >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub  

3、部署Kubernetes

配置安装环境,安装必要软件
  

yum install -y epel-release  

  
yum install -y ansible python-netaddr git
  

下载Kubernetes官方Ansible Playbook代码
  

git clone "https://github.com/kubernetes/contrib.git"  

  
cd contrib/ansible
  

配置Ansible Playbook
  在inventory文件夹中新建hosts文件,并且加入以下内容:
  

[masters]  
master1
  

  
[etcd:children]
  
masters
  

  
[nodes]
  
node[1:2]
  

  使用Ansible检查节点是否连通:
  

ansible -i inventory/hosts all -m ping  

  
master1 | SUCCESS => {
  "changed": false,
  "ping": "pong"
  
}
  
node2 | SUCCESS => {
  "changed": false,
  "ping": "pong"
  
}
  
node1 | SUCCESS => {
  "changed": false,
  "ping": "pong"
  

  

  编辑inventory/group_vars/all.yml文件。修改以下内容如下:
  

source_type: packageManager  
cluster_name: cluster.kairen
  
networking: flannel
  
cluster_logging: true
  
cluster_monitoring: true
  
kube_dash: true
  
dns_setup: true
  
dns_replicas: 1
  

  修改roles/flannel/defaults/main.yaml文件,如下:
  

flannel_options: --iface=enp0s8  

  修改完成后,进入scripts目录,执行如下命令开始部署:
  

INVENTORY=../inventory/hosts ./deploy-cluster.sh  

  部署需要过一段时间,在部署的过程中ansible服务会陆续报出安装的过程,我们可以实时的了解到安装进行到具体哪一步。
  安装结束后,就可以使用kubectl查看节点信息:
  

kubectl get nodes  

  
NAME      STATUS    AGE
  
node1     Ready     41m
  
node2     Ready     41m
  

  

  查看pod和svc的信息:
  

kubectl get svc  --all-namespaces  

  
NAMESPACE     NAME                    CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
  
default       kubernetes              10.254.0.1               443/TCP             48m
  
kube-system   elasticsearch-logging   10.254.195.56            9200/TCP            35m
  
kube-system   heapster                10.254.184.180           80/TCP              35m
  
kube-system   kibana-logging          10.254.154.10            5601/TCP            35m
  
kube-system   kube-dns                10.254.0.10              53/UDP,53/TCP       35m
  
kube-system   monitoring-grafana      10.254.192.97            80/TCP              35m
  
kube-system   monitoring-influxdb     10.254.6.37              8083/TCP,8086/TCP   35m
  

Targeted runs
  可以使用tag的方式指定只部署特定服务,比如:指定部署Etcd。
  

  
INVENTORY=../inventory/hosts ./deploy-cluster.sh --tags=etcd



运维网声明 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-583368-1-1.html 上篇帖子: Kubernetes Secret-Trying 下篇帖子: Jenkins与Docker/Kubernetes的自动化CI/CD流水线实践--免费直播课等你来约
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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