国内安装K8S的四种途径

  1. 使用kubeadmin通过离线镜像安装

  2. 使用阿里公有云平台k8s,需要舍得花钱

  3. 通过yum官方仓库安装,上古版本 v1.5

  4. 二进制包的形式进行安装,kubeasz(GitHub)

本文通过第一种方式安装k8s集群

环境准备

k8s最小集群,1个Master节点,2个Node节点,共3台虚拟机

  • Centos 7 Master * 1
    • Master:192.168.0.31
  • Centos Node * 2
    • Node1:192.168.0.41
    • Node2:192.168.0.42

如下操作每个节点主机都需要进行设置,个别命令注意区分执行节点

设置主机名与时区

# 都要执行
timedatectl set-timezone Asia/Shanghai
# 31上执行
hostnamectl set-hostname master
# 41上执行
hostnamectl set-hostname node1
# 42上执行
hostnamectl set-hostname node2

添加hosts网络主机配置

三台虚拟机都要设置

vim /etc/hosts

192.168.0.31 master
192.168.0.41 node1
192.168.0.42 node2

关闭防火墙

三台虚拟机都要设置,生产环境跳过这一步

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld

安装基础工具

安装资源上传

将资源包上传至每台虚拟

mkdir /usr/local/k8s-install
cd /usr/local/k8s-install

XFTP上传安装文件

安装Docker

tar -zxvf docker-ce-18.09.tar.gz
cd docker
yum localinstall -y *.rpm
systemctl start docker
systemctl enable docker

安装kubeadm

kubeadm是k8s集群部署工具

cd /usr/local/k8s-install/kubernetes-1.14
tar -zxvf kube114-rpm.tar.gz
cd kube114-rpm
yum localinstall -y *.rpm

关闭交换区

防止k8s安装与运行过程中使用swap分区导致的异常,需要关闭交换分区

swapoff -a
vi /etc/fstab 
#swap一行注释

配置网桥

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

加载k8s镜像

docker load -i k8s-114-images.tar.gz
docker load -i flannel-dashboard.tar.gz

利用kubeadm部署集群

配置Master主服务器

在Master节点上执行如下命令

kubeadm init --kubernetes-version=v1.14.1 --pod-network-cidr=10.244.0.0/16

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

kubectl get nodes
#查看pod情况
kubectl get pod --all-namespaces

#安装flannel网络组件
kubectl create -f kube-flannel.yml

加入NODE节点

根据Master上的提示,在两台Node节点上执行如下命令

kubeadm join 192.168.0.31:6443 --token o6of46.215n8pmrgk613jhi \
    --discovery-token-ca-cert-hash sha256:5163e0acf843ccf5d6c63b674c87949fd12f95a771f0628df73f76bf361c547b

样例如上,具体命令复制Master节点上的输出

在Master上执行如下命令,观察节点状态

kubectl get nodes

Master开启仪表盘

在Master节点上执行如下命令,开启仪表盘(Web访问界面)

kubectl apply -f kubernetes-dashboard.yaml
kubectl apply -f admin-role.yaml
kubectl apply -f kubernetes-dashboard-admin.rbac.yaml
kubectl -n kube-system get svc

仪表盘访问地址:http://192.168.0.31:32000,即http://{{Master IP}}:32000

版权说明

本文章内容为马士兵教育《架构师高级技能kubernetes入门到精通》课程的学习笔记
百度网盘上相关源码资料包 提取码:xdji

Logo

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

更多推荐