首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kubernetes 1.8.6 集群部署–基础环境(一)

k8s 目前架构重构就用到了,太有吸引力了,都说k8s难搞,之前使用yum搭建了一个简易的K8S环境组件也不是太完善,今天就来重新再次部署一个完整些的,主要是学习与了解 Kubernetes 创建流程。

如下此文借鉴来自kubernet中文社区。共学习,感谢~

最后有惊喜!!

本次安装版本为:

  • Kubernetes v1.8.6
  • Etcd v3.2.12
  • Flanneld0.9.1
  • Docker v17.12.0-ce

一、准备基础环境

IP Address

Role

组件

192.168.161.161

master1

etcd,kube-scheduler,kube-controller-manager,kube-apiserver,kube-proxy,kubelet,docker,kubectl

192.168.161.162

node01

etcd,kube-proxy,kubelet,docker

192.168.161.163

node02

etcd,kube-proxy,kubelet,docker

  • 这边 master 为主要控制节点也是部署节点,node 为应用程序工作节点。
  • 所有操作全部用root使用者进行。
首先安装前要确认以下几项都已将准备完成:
  • 所有节点彼此网络互通,并且master1 SSH 登入其他节点为 passwdless。
  • 所有防火墙与 SELinux 已关闭。如 CentOS:
代码语言:javascript
复制
# systemctl stop firewalld && systemctl disable firewalld && setenforce 0 && sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
代码语言:javascript
复制
# swapoff -a 

修改 /etc/fstab 文件,注释掉 SWAP 的自动挂载,使用free -m确认swap已经关闭。

所有节点需要设定/etc/host解析到所有主机。

代码语言:javascript
复制
192.168.161.161 master1
192.168.161.162 node02
192.168.161.163 node03

所有节点需要设定/etc/sysctl.d/k8s.conf的系统参数。

代码语言:javascript
复制
# 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

加载br_netfilter

代码语言:javascript
复制
# modprobe br_netfilter
# echo "modprobe br_netfilter" >> /etc/rc.local

刷新使之生效

代码语言:javascript
复制
# sysctl -p /etc/sysctl.d/k8s.conf

设置iptables策略为 ACCEPT

代码语言:javascript
复制
# /sbin/iptables -P FORWARD ACCEPT

# echo  "sleep 60 && /sbin/iptables -P FORWARD ACCEPT" >> /etc/rc.local

安装依赖包

代码语言:javascript
复制
# yum install -y epel-release

# yum install -y yum-utils device-mapper-persistent-data lvm2 net-tools conntrack-tools wget
下一篇
举报
领券