主机信息:

主机IP 主机名 角色
10.10.3.181 k8s-m1  kube-apiserver,kube-controller-manager,kube-scheduler,etcd
10.10.3.182 k8s-n1 kubelet,kube-proxy,etcd
10.10.3.183 k8s-n2 kubelet,kube-proxy,etcd
10.10.3.184 k8s-n3 kubelet,kube-proxy

安装配置ansible

安装

yum install ansible -y

配置

$ vim /etc/ansible/ansible.cfg
...
#去掉这个配置的#号
host_key_checking = False
...
#安装自己的情况修改
$ vim /etc/ansible/hosts
[kubemaster]
10.10.3.181 hostname=k8s-m1 etcd01ip=10.10.3.181 etcd02ip=10.10.3.182 etcd03ip=10.10.3.183
[kubenode]
10.10.3.182 hostname=k8s-n1
10.10.3.183 hostname=k8s-n2
10.10.3.184 hostname=k8s-n3
[allnode]
10.10.3.181
10.10.3.182
10.10.3.183
10.10.3.184
[allnode:vars]
ansible_ssh_user=root
ansible_ssh_pass=
ansible_ssh_port= [etcd]
10.10.3.181 etcdname=etcd01 etcd01ip=10.10.3.181 etcd02ip=10.10.3.182 etcd03ip=10.10.3.183
10.10.3.182 etcdname=etcd02
10.10.3.183 etcdname=etcd03

配置免密钥

1.生产密钥

ssh-keygen -t rsa

2.分发密钥

ansible allnode -m  authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub')}}'"

安装kubernetes

修改主机名

$ ansible allnode -m hostname -a 'name={{ hostname }}'

git clone

$ git clone https://github.com/jaxzhai/kubernetes-ansible.git

修改kubernetes-ansible/group_vars/all.yaml参数

1、修改ETCD_URL。修改成自己规划的IP即可

2、修改ETCD_ENDPOINTS。修改成自己规划的IP即可

3、修改IFACE。既网卡的名称

开始运行安装

1、setup.yaml

这里我们选择升级到最新内核

ansible-playbook setup.yaml  -e kernel=ture

2、ca.yaml

创建我们所需要的所有证书

ansible-playbook ca.yaml

3、kubectl.yaml

创建kubectl,如果手动下载的话加上download=false标签。自己下载kubernetes-server-linux-amd64.tar.gz到role/kubectl/files目录下

ansible-playbook kubectl.yaml -e download=false

4、etcd.yaml

ansible-playbook etcd.yaml

查看状态

$ ETCDCTL_API=  etcdctl -w table --cacert=/etc/kubernetes/pki/ca.pem --cert=/etc/kubernetes/pki/etcd.pem --key=/etc/kubernetes/pki/etcd-key.pem --endpoints=https://10.10.3.181:2379,https://10.10.3.182:2379,https://10.10.3.183:2379 endpoint status
+--------------------------+------------------+---------+---------+-----------+-----------+------------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | RAFT TERM | RAFT INDEX |
+--------------------------+------------------+---------+---------+-----------+-----------+------------+
| https://10.10.3.181:2379 | 29fd839438b13490 | 3.3.12 | 20 kB | false | 2 | 8 |
| https://10.10.3.182:2379 | 15e01ae39b43687d | 3.3.12 | 20 kB | false | 2 | 8 |
| https://10.10.3.183:2379 | deaefeb573250ff1 | 3.3.12 | 20 kB | true | 2 | 8 |
+--------------------------+------------------+---------+---------+-----------+-----------+------------+

5、flannel.yaml

ansible-playbook flannel.yaml

查看结果

$ ansible allnode -m shell -a "/usr/sbin/ip addr show flannel.1|grep -w inet"
10.10.3.183 | CHANGED | rc= >>
inet 172.30.216.0/ scope global flannel. 10.10.3.184 | CHANGED | rc= >>
inet 172.30.176.0/ scope global flannel. 10.10.3.182 | CHANGED | rc= >>
inet 172.30.240.0/ scope global flannel. 10.10.3.181 | CHANGED | rc= >>
inet 172.30.88.0/ scope global flannel.

6、kube-api.yaml

ansible-playbook kube-api.yaml

查看

$ systemctl status kube-apiserver |grep 'Active:'
Active: active (running) since Tue -- :: CST; 55s ago

查看日志

$ journalctl -u kube-apiserver

7、kube-controller-manager.yaml

ansible-playbook kube-controller-manager.yaml

查看

$ systemctl status kube-controller-manager|grep Active
   Active: active (running) since Tue 2019-04-16 14:27:19 CST; 4min 20s ag

查看日志

$ journalctl -u kube-controller-manager

8、kube-scheduler.yaml

ansible-playbook kube-scheduler.yaml

查看

$ systemctl status kube-scheduler|grep Active
Active: active (running) since Tue -- :: CST; 15s ago

查看日志

$ journalctl -u kube-scheduler

9、docker.yaml

ansible-playbook docker.yaml
$ docker info
Containers:
Running:
Paused:
Stopped:
Images:
Server Version: 18.09.
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: systemd
......

10、kubelet.yaml

ansible-playbook kubelet.yaml

11、kube-proxy.yaml

ansible-playbook kube-proxy.yaml

这样就完成了简单的k8s集群搭建。这里只适合玩一玩。当初写这个的原因也是为了练习ansible。此方法不能作为生产集群。

ansible安装二进制kubernetes-1.14.1的更多相关文章

  1. centos7使用kubeadm安装部署kubernetes 1.14

    应用背景: 截止目前为止,高热度的kubernetes版本已经发布至1.14,在此记录一下安装部署步骤和过程中的问题排查. 部署k8s一般两种方式:kubeadm(官方称目前已经GA,可以在生产环境使 ...

  2. 二进制方式安装Kubernetes 1.14.2高可用详细步骤

    00.组件版本和配置策略 组件版本 Kubernetes 1.14.2 Docker 18.09.6-ce Etcd 3.3.13 Flanneld 0.11.0 插件: Coredns Dashbo ...

  3. 从0到1使用Kubernetes系列(三):使用Ansible安装Kubernetes集群

    前两期的文章介绍了Kubernetes基本概念和架构,用Kubeadm+Ansible搭建Kubernetes集群所需要的工具及其作用.本篇介绍怎么使用Ansible安装Kubernetes集群. 启 ...

  4. 离线环境下使用二进制方式安装配置Kubernetes集群

    本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...

  5. K8s集群安装--最新版 Kubernetes 1.14.1

    K8s集群安装--最新版 Kubernetes 1.14.1 前言 网上有很多关于k8s安装的文章,但是我参照一些文章安装时碰到了不少坑.今天终于安装好了,故将一些关键点写下来与大家共享. 我安装是基 ...

  6. 使用kubeadm安装kubernetes v1.14.1

    使用kubeadm安装kubernetes v1.14.1 一.环境准备 操作系统:Centos 7.5 ​ ⼀ 一台或多台运⾏行行着下列列系统的机器器: ​ Ubuntu 16.04+ ​ Debi ...

  7. [转帖]K8s集群安装--最新版 Kubernetes 1.14.1

    K8s集群安装--最新版 Kubernetes 1.14.1 http://www.cnblogs.com/jieky/p/10679998.html 原作者写的比较简单 大略流程和跳转的多一些 改天 ...

  8. ANSIBLE安装和常用模块模块使用详细教程

    目录 ANSIBLE安装和各种模块应用功能 安装配置ANSIBLE ANSIBLE使用 ansible-galaxy工具 ansible-pull工具 ansible-playbook ansible ...

  9. k8s之ansible安装

    项目地址:https://github.com/easzlab/kubeasz #:先配置harbor #:利用脚本安装docker root@k8s-harbor1:~# vim docker_in ...

随机推荐

  1. 软件工程实践-WC项目之C实现

    1.Github项目地址 https://github.com/ShadowEvan/homework 基本功能 -c 统计文件字符数(实现) -w 统计文件词数(实现) -l  统计文件行数(实现) ...

  2. jquery实现静态柱形图(写死的数据,只为系统首页UI更美观)

    这段时间比较空闲,便阅读公司做好的项目的源代码,学习学习同事的开发思路. 在项目中使用图表可以很好地提高人机交互的友好度,开发的时候看到项目的首页有两个很小的柱形图,很漂亮,便找到对应的代码看了看,发 ...

  3. idea Maven项目找不到相关依赖包(红色波浪线)

    前两天做项目的时候,把团队其他人的代码从git同步到自己电脑上,出现了冲突.发现是maven依赖出现了问题,之前的截图找不到了,我就简单描述一下.就是下图箭头所示位置出现了红色波浪线. 在网上找了很多 ...

  4. Tableau环图可视化

    1.选择"记录数",拖拽两个记录数放入列中,求总和,选择饼图: 2.选择"大小",调整两个饼图的大小: 3.点击第二个总和(行上的),选择“双轴”: 4.点击坐 ...

  5. python使用rabbitMQ介绍一(生产-消费者模式)

    1 模式介绍 生产者-消费者模式是最简单的使用模式. 一个生产者P,给队列发送消息,一个消费者C来取队列的消息. 这里的队列长度不限,生产者和消费者都不用考虑队列的长度. 队列的模型图: 2 示例代码 ...

  6. 记一次 c 语言 的 多线程查找 简单实现

    //仅供参考学习 1 #define _CRT_SECURE_NO_WARNINGS //屏蔽 vs 的a #include <stdio.h> #include <stdlib.h ...

  7. ASP.NET Core部署在IIS上

    1.下载安装 Windows Server Hosting ,它的作用是,让IIS有反向代理功能(Asp.Net Core Module负责反向代理工作),将请求转发到 Kestrel 2.发布网站, ...

  8. C# .NET 0命令行安装Windows服务程序

    设计原则:万物皆对象 背景:在我的项目中,即需要与硬件通过Socket连接通讯,又需要给App提供Wcf服务操作接口,虽然都完成了,但是却是一个控制台(虽然我很喜欢控制台,因为它简单易用),把它放到服 ...

  9. HTML HTML5 新特性

    一.语义化标签 语义化标签 为页面提供了更好的页面结构. 描述 属性 <header></header>  定义文档的头部区域 <footer></foote ...

  10. ExcelPower_Helper插件下载与更新日志

    ExcelPower_Helper插件下载.功能简述与演示 ExcelPower_Helper最新版本为:0.4.5,截止到目前为止. 下载地址: 链接:https://pan.baidu.com/s ...