- 准备工作
- master 节点要求 cpu 至少两核
- 使用 root
- 使当前主机名可在内网访问
- 确保每台机器时间同步
- 安装 Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce docker-ce-cli containerd.io
- GPG key fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
- 配置 Docker
mkdir /etc/docker
-
修改配置文件
cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": ["https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } EOF
systemctl daemon-reload
systemctl enable docker
- 设置 Docker 代理(可选)
vim /usr/lib/systemd/system/docker.service
- Environment="HTTPS_PROXY=http://<ip>:<port>"
- Environment="HTTP_PROXY=http://<ip>:<port>"
- Environment="NO_PROXY=localhost, 127.0.0.1"
systemctl daemon-reload
- 启动 Docker
systemctl start docker
docker info
- 安装 kubeadm, kubelet, kubectl
- 增加 kubernetes 的 repo (使用阿里云镜像)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg exclude=kube* EOF
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable kubelet
systemctl start kubelet
- 禁用 Swap
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- 设置 sysctl
- 修改系统配置
cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
sysctl --system
- 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
- 以上步骤所有机器都要执行
- 创建 Master
- 切换到 Master 主机
kubeadm config print init-defaults > ./kubeadm-init.yaml
- 修改
advertiseAddress
为主机IP地址 - 修改
kubernetesVersion
为需要安装的版本号 - 修改
podSubnet
为10.244.0.0/16
(flannel 默认网段) - 删除默认 token
kubeadm config images pull --config ./kubeadm-init.yaml
kubeadm init --config ./kubeadm-init.yaml
- 成功后记录最后生成的 join 命令
- 若 token 过期可使用如下命令再生成
- kubeadm token create --print-join-command
- 配置 Master 用户环境
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 安装 pod 网络 - flannel
- 参考地址 https://kubernetes.io/docs/concepts/cluster-administration/addons/
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
- 创建 Node
- 切换到 Node 主机
- 执行刚才记录的
kubeadm join
完整命令 kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>
- 如果 join 卡住,可以使用 -v10 打印具体日志
在 CentOS 7 上安装 Kubernetes
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 5.flannel网络安装 flannel启动顺序1、启动etcd (先为flannel及docker分配虚拟...
- 1. 组件版本和配置策略 组件版本: Kubernetes 1.10.4 Docker 18.03.1-ce Et...
- 关闭防火墙 systemctl stop firewalld systemctl disable firewall...