关闭防火墙

因为k8s是集群间通信的,如果防火墙做了啥限制,说不定就导致通信失败,所以直接关掉

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

清理iptables规则

iptables也是防火墙,与上一步同样的原因,要清理掉已有的规则

$ sudo iptables -F && sudo iptables -X && sudo iptables -F -t nat && sudo iptables -X -t nat

在后面的安装过程中(准确说是在node节点安装kubelet时),k8s会自己去设置一些iptables

iptables还是蛮重要的,建议花10分钟了解一下概念及简单命令

创建工作目录

  • 公共目录,在所有节点创建
# 程序目录
$ sudo mkdir -p /root/local/bin

# 证书与秘钥文件目录
$ sudo mkdir -p /etc/kubernetes/ssl

# etcd TLS 证书与秘钥文件目录
$ sudo mkdir -p /etc/etcd/ssl

# etcd 工作目录
$ sudo mkdir -p /var/lib/etcd

# flannel TLS 证书与秘钥文件目录
$ sudo mkdir -p /etc/flanneld/ssl
  • node节点目录,在所有node节点创建
# kubelet 工作目录
$ sudo mkdir -p /var/lib/kubelet

# kube-proxy 工作目录
$ sudo mkdir -p /var/lib/kube-proxy

定义环境变量

# TLS Bootstrapping 使用的 Token,可以使用命令 head -c 16 /dev/urandom | od -An -t x | tr -d ' ' 生成
BOOTSTRAP_TOKEN="41f7e4ab8b7be874fcaa18bf5c4f1a7c"

# 建议用 未用的网段 来定义服务网段和 Pod 网段
# 服务网段 (Service CIDR),部署前路由不可达,部署后集群内使用 IP:Port 可达
SERVICE_CIDR="10.254.0.0/16"

# POD 网段 (Cluster CIDR),部署前路由不可达,部署后路由可达 (flannel 保证)
CLUSTER_CIDR="172.30.0.0/16"

# 当前部署的集群 Master IP
MASTER_IP=10.61.16.39

# 当前部署的机器名称
NODE_NAME=KUBE-TEST

# 当前部署的机器 IP
NODE_IP=10.61.16.39

# 服务端口范围 (NodePort Range)
NODE_PORT_RANGE="8400-9000"

# etcd 集群所有机器 IP
NODE_IPS="10.61.16.39 10.61.16.29 10.61.16.28"

# etcd 集群间通信的IP和端口
ETCD_NODES=KUBE-TEST=https://10.61.16.39:2380,KUBE-TEST2=https://10.61.16.29:2380,KUBE-TEST3=https://10.61.16.28:2380

# etcd 集群服务地址列表
ETCD_ENDPOINTS="https://10.61.16.39:2379,https://10.61.16.29:2379,https://10.61.16.28:2379"

# flannel 网络配置前缀
FLANNEL_ETCD_PREFIX="/kubernetes/network"

# kubernetes Api Server地址
KUBE_APISERVER="https://${MASTER_IP}:6443"

# kubernetes 服务 IP (预分配,一般是 SERVICE_CIDR 中第一个IP)
CLUSTER_KUBERNETES_SVC_IP="10.254.0.1"

# 集群 DNS 服务 IP (从 SERVICE_CIDR 中预分配)
CLUSTER_DNS_SVC_IP="10.254.0.2"

# 集群 DNS 域名
CLUSTER_DNS_DOMAIN="cluster.local."

分发集群环境变量定义脚本

  • 把全局变量定义脚本拷贝到所有机器的/root/local/bin目录:
$ cp environment.sh /root/local/bin
$ ll /root/local/bin/environment.sh
# -rw-r--r--. 1 root root 1484 Oct 20 14:04 /root/local/bin/environment.sh

修改系统环境变量

由于我们之后会把要用的bin文件放到/root/local/bin里并直接调用,所以要把/root/local/bin加入path里

$ vi ~/.bash_profile
  • 添加PATH=/root/local/bin:$PATH得到
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
   . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
PATH=/root/local/bin:$PATH

export PATH
  • 应用本次修改
$ source ~/.bash_profile
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐