K8S部署步骤:1-操作系统初始化设置
关闭防火墙因为k8s是集群间通信的,如果防火墙做了啥限制,说不定就导致通信失败,所以直接关掉$ sudo systemctl stop firewalld$ sudo systemctl disable firewalld清理iptables规则iptables也是防火墙,与上一步同样的原因,要清理掉已有的规则$ sudo iptables -F &&am...
·
关闭防火墙
因为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
更多推荐
已为社区贡献5条内容
所有评论(0)