Skip to main content

源码包方式 安装

项目地址: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