ansible安装二进制kubernetes-1.14.1
主机信息:
主机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的更多相关文章
- centos7使用kubeadm安装部署kubernetes 1.14
应用背景: 截止目前为止,高热度的kubernetes版本已经发布至1.14,在此记录一下安装部署步骤和过程中的问题排查. 部署k8s一般两种方式:kubeadm(官方称目前已经GA,可以在生产环境使 ...
- 二进制方式安装Kubernetes 1.14.2高可用详细步骤
00.组件版本和配置策略 组件版本 Kubernetes 1.14.2 Docker 18.09.6-ce Etcd 3.3.13 Flanneld 0.11.0 插件: Coredns Dashbo ...
- 从0到1使用Kubernetes系列(三):使用Ansible安装Kubernetes集群
前两期的文章介绍了Kubernetes基本概念和架构,用Kubeadm+Ansible搭建Kubernetes集群所需要的工具及其作用.本篇介绍怎么使用Ansible安装Kubernetes集群. 启 ...
- 离线环境下使用二进制方式安装配置Kubernetes集群
本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...
- K8s集群安装--最新版 Kubernetes 1.14.1
K8s集群安装--最新版 Kubernetes 1.14.1 前言 网上有很多关于k8s安装的文章,但是我参照一些文章安装时碰到了不少坑.今天终于安装好了,故将一些关键点写下来与大家共享. 我安装是基 ...
- 使用kubeadm安装kubernetes v1.14.1
使用kubeadm安装kubernetes v1.14.1 一.环境准备 操作系统:Centos 7.5 ⼀ 一台或多台运⾏行行着下列列系统的机器器: Ubuntu 16.04+ Debi ...
- [转帖]K8s集群安装--最新版 Kubernetes 1.14.1
K8s集群安装--最新版 Kubernetes 1.14.1 http://www.cnblogs.com/jieky/p/10679998.html 原作者写的比较简单 大略流程和跳转的多一些 改天 ...
- ANSIBLE安装和常用模块模块使用详细教程
目录 ANSIBLE安装和各种模块应用功能 安装配置ANSIBLE ANSIBLE使用 ansible-galaxy工具 ansible-pull工具 ansible-playbook ansible ...
- k8s之ansible安装
项目地址:https://github.com/easzlab/kubeasz #:先配置harbor #:利用脚本安装docker root@k8s-harbor1:~# vim docker_in ...
随机推荐
- SpringBoot Mybatis 使用LocalDateTime
mybatis-spring-boot-starter 2.0.1 会报错,不知道如何解决(建议先不用) mybatis-spring-boot-starter 2.0.1 - 1.3.2 版本不会报 ...
- lua_local变量在new时不会被清空
前言 我的运行环境 Lua5.3 按照我们以往的Java或C#编程经验,如果一个class被new,那么这个class中所有成员变量的值都是默值或是构造函数中赋的值,但在Lua中的local变量却并不 ...
- mysql表与表之间数据的转移
1.相同表结构 INSERT INTO table1 SELECT * FROM table2; 2.不同表结构 INSERT INTO table1(filed1,...,filedn) SELEC ...
- Wsus Content内容误删处理
问题:在wsus content文件夹下误删除文件,需要重新下载文件解决方法:打开cmdcd C:\Program Files\Update Services\Tools\.\wsusutil.exe ...
- ztree 为节点添加点击触发事件
<SCRIPT type="text/javascript"> var setting = { data : { key : { title : "code& ...
- EntityFramework Core 2.1重新梳理系列属性映射(一)
前言 满血复活啦,大概有三个月的时间没更新博客了,关于EF Core最新进展这三个月也没怎么去看,不知现阶段有何变化没,本文将以EF Core 2.1稳定版本作为重新梳理系列,希望对看本文的你有所帮助 ...
- PyCharm选中文件夹新建时Directory与Python package的区别
pycharm创建普通的directory和package时都是在硬盘上建立一个文件夹.但是建package时会在这个文件夹中自动地生成一个空的__init__.py文件.python的一个包是一个带 ...
- 使用VScode配合chrome实现网页自动刷新
1.使用插件:livereload 2.VScode商店中搜索上述插件安装 3.Chrome商店中搜素上述插件安装 并设置允许访问文件网址: 4.在两方插件都打开的情况下,VScode中按下ctrl+ ...
- 微信内分享第三方H5链接无法使用内置浏览器打开的解决方案
很多朋友在微信内想分享转发H5链接的时候都会很容易碰到H5链接在微信内无法打开或在微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢, ...
- Arguments Optional 计算两个参数之和的 function
创建一个计算两个参数之和的 function.如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果. 例如,add(2, 3) 应该返回 5,而 add ...