源码包方式 安装
项目地址:https://github.com/liuyi01/kubernetes-starter
一、接受所有ip的数据包转发
vi /lib/systemd/system/docker.service
找到ExecStart=xxx,在这行上面加入一行,内容如下:(k8s的网络需要)
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
使修改后的生效
systemctl daemon-reload service docker restart
二、关闭、禁用防火墙(让所有机器之间都可以通过任意端口建立连接)
$ ufw disable
查看状态
$ ufw status
三、路由转发 设置系统参数 - 允许路由转发,不对bridge的数据进行处理
写入配置文件
$ cat <<EOF > /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
生效配置文件
$ sysctl -p /etc/sysctl.d/k8s.conf
四、配置host文件
配置host,使每个Node都可以通过名字解析到ip地址
$ vi /etc/hosts
加入如下片段(ip地址和servername替换成自己的)
192.168.111.111 server01 192.168.111.112 server02 192.168.111.113 server03
五、下载地址(kubernetes 1.9.0版本)
六、生成配置
到home目录下载项目
$ cd $ git clone https://github.com/liuyi01/kubernetes-starter.git
看看git内容
$ cd ~/kubernetes-starter && ls
cd到之前下载的git代码目录
$ cd ~/kubernetes-starter
编辑属性配置(根据文件注释中的说明填写好每个key-value)
$ vi config.properties
生成配置文件,确保执行过程没有异常信息
$ ./gen-config.sh simple
查看生成的配置文件,确保脚本执行成功
$ find target/ -type f target/all-node/kube-calico.service target/master-node/kube-controller-manager.service target/master-node/kube-apiserver.service target/master-node/etcd.service target/master-node/kube-scheduler.service target/worker-node/kube-proxy.kubeconfig target/worker-node/kubelet.service target/worker-node/10-calico.conf target/worker-node/kubelet.kubeconfig target/worker-node/kube-proxy.service target/services/kube-dns.yaml
七、部署ETCD
设置二进制文件包的环境变量和权限 export PATH=$PATH:/bin/kubernetes-bin chmod -R 777 /bin/kubernetes-bins/ chmod -R 777 /var/lib/etcd
把服务配置文件copy到系统服务目录
$ cp ~/kubernetes-starter/target/master-node/etcd.service /lib/systemd/system/
enable服务
$ systemctl enable etcd.service
创建工作目录(保存数据的地方)
$ mkdir -p /var/lib/etcd
启动服务
$ service etcd start
查看服务日志,看是否有错误信息,确保服务正常
$ journalctl -f -u etcd.service