博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用官方Aansible部署Kubernetes
阅读量:6278 次
发布时间:2019-06-22

本文共 2570 字,大约阅读时间需要 8 分钟。

一、部署环境

参考文章:

说明:由于安装软件需要在外网下载,所以此文档暂只适合能使用外网环境的主机使用,即能访问: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里添加节点信息。

#修改为master1vim /etc/hostname#添加节点信息vim /etc/hosts192.168.123.121 master1192.168.123.122 node1192.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-releaseyum 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 pingmaster1 | SUCCESS => {    "changed": false,     "ping": "pong"}node2 | SUCCESS => {    "changed": false,     "ping": "pong"}node1 | SUCCESS => {    "changed": false,     "ping": "pong"

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

source_type: packageManagercluster_name: cluster.kairennetworking: flannelcluster_logging: truecluster_monitoring: truekube_dash: truedns_setup: truedns_replicas: 1

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

flannel_options: --iface=enp0s8

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

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

部署需要过一段时间,在部署的过程中ansible服务会陆续报出安装的过程,我们可以实时的了解到安装进行到具体哪一步。

安装结束后,就可以使用kubectl查看节点信息:

kubectl get nodesNAME      STATUS    AGEnode1     Ready     41mnode2     Ready     41m

查看pod和svc的信息:

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

Targeted runs

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

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

转载于:https://blog.51cto.com/bestlope/2148726

你可能感兴趣的文章
jQuery的validate插件
查看>>
5-4 8 管道符 作业控制 shell变量 环境变量配置
查看>>
Enumberable
查看>>
开发者论坛一周精粹(第五十四期) 求购备案服务号1枚!
查看>>
validate表单验证及自定义方法
查看>>
javascript 中出现missing ) after argument list的错误
查看>>
使用Swagger2构建强大的RESTful API文档(2)(二十三)
查看>>
Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work
查看>>
(转)第三方支付参与者
查看>>
程序员修炼之道读后感2
查看>>
DWR实现服务器向客户端推送消息
查看>>
js中forEach的用法
查看>>
Docker之功能汇总
查看>>
!!a标签和button按钮只允许点击一次,防止重复提交
查看>>
(轉貼) Eclipse + CDT + MinGW 安裝方法 (C/C++) (gcc) (g++) (OS) (Windows)
查看>>
还原数据库
查看>>
作业调度框架 Quartz.NET 2.0 beta 发布
查看>>
mysql性能的检查和调优方法
查看>>
项目管理中的导向性
查看>>
Android WebView 学习
查看>>