VMware 安装 Centos K8S 集群

安装配置 master

步骤省略
avatar

配置 master

网络配置

  1. 开启网卡
    1
    vi /etc/sysconfig/network-scripts/ifcfg-ens33

ONBOOT 设置为 yes,保存重启 reboot
avatar

  1. 安装 net-tools
    1
    yum install net-tools

等待安装完,执行 ifconfig 得到 master的ip地址 192.168.203.135
avatar

  1. 修改hostname
    1
    hostnamectl set-hostname centos-master

设置 hostname 为 centos-master,运行 hostname 验证输出是否为 centos-master

  1. 关闭SELinux
    • 永久关闭(推荐):vi /etc/selinux/config 设置 SELINUX=disabled,保存重启服务器
    • 临时关闭:执行 setenforce 0
  2. 关闭防火墙禁用swap

    • 关闭防火墙

      1
      2
      systemctl stop firewalld
      systemctl disable firewalld
    • 永久禁用swap
      vi /etc/fstab 注释最后一行
      avatar

安装配置最新版docker

使用 powershell 连接服务器ssh root@192.168.203.135
avatar

  1. 安装docker:参考官方文档*
    avatar
    安装完毕后启动docker
    1
    2
    systemctl start docker
    systemctl enable docker

执行 docker -v 查看版本 Docker version 18.09.6, build 481bc77156

  1. 配置加速:使用阿里云镜像加速
    1
    2
    3
    4
    5
    6
    7
    8
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["你的地址"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

安装k8s

  1. 设置安装源(使用aliyun的源)

    1
    2
    3
    4
    5
    6
    7
    cat>>/etc/yum.repos.d/kubrenetes.repo<<EOF
    [kubernetes]
    name=Kubernetes Repo
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    gpgcheck=0
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    EOF
  2. 安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    yum install -y kubelet kubeadm kubectl

    systemctl enable kubelet

    kubeadm init \
    --image-repository registry.aliyuncs.com/google_containers \
    --pod-network-cidr=10.244.0.0/16 \
    --ignore-preflight-errors=cri \
    --kubernetes-version=1.14.1

出现错误

1
2
[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

执行 echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables, 重新执行 kubeadm init...
avatar

  1. 等待安装成功后重启 reboot

安装 node

在 Vmware 中选中 master 虚拟机,选择顶部 虚拟机-管理-克隆 从master克隆虚拟机
avatar
avatar
avatar
修改node hostname hostnamectl set-hostname centos-node1
启动 centos-mastercentos-node1

将node加入master

master 中的操作

在 master 中执行 kubectl get nodes,得到错误 The connection to the server localhost:8080 was refused - did you specify the right host or port?,执行以下命令

1
2
3
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
avatar

执行 kubeadm token create --print-join-command 得到join命令

node1 中的操作

执行上一步得到的命令,join error 可以使用 kubeadm reset 再次执行join命令
avatar

查看nodes

master kubectl get nodes
avatar
可以看到都是 NotReady 状态,初始化网络插件 Flannel

1
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml

等待一段时间,再次查看 kubectl get nodes

0%