ansible安装二进制kubernetes-1.14.1

主机信息:

主机IP主机名角色
10.10.3.181k8s-m1 kube-apiserver,kube-controller-manager,kube-scheduler,etcd
10.10.3.182k8s-n1kubelet,kube-proxy,etcd
10.10.3.183k8s-n2kubelet,kube-proxy,etcd
10.10.3.184k8s-n3kubelet,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=123 ansible_ssh_port=22 [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=3  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=0 >>
    inet 172.30.216.0/32 scope global flannel.1

10.10.3.184 | CHANGED | rc=0 >>
    inet 172.30.176.0/32 scope global flannel.1

10.10.3.182 | CHANGED | rc=0 >>
    inet 172.30.240.0/32 scope global flannel.1

10.10.3.181 | CHANGED | rc=0 >>
    inet 172.30.88.0/32 scope global flannel.1
6、kube-api.yaml
ansible-playbook kube-api.yaml

查看

$ systemctl status kube-apiserver |grep 'Active:'
Active: active (running) since Tue 2019-04-16 14:25:01 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 2019-04-16 14:55:07 CST; 15s ago

查看日志

$ journalctl -u kube-scheduler
9、docker.yaml
ansible-playbook docker.yaml
$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.09.2
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。此方法不能作为生产集群。

 

转载于:https://www.cnblogs.com/xzkzzz/p/10710310.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值