Kubernetes集群搭建(vagrant)

栏目: 编程工具 · 发布时间: 5年前

内容简介:通过Vagrant准备三台虚拟机。vagrantfile如下,使用vagrant up命令安装。由于vagrant machine比较精简所以先安装必要软件配置docker yum源,安装及启动。现使用的docker版本为docker-ce-18.06

通过Vagrant准备三台虚拟机。vagrantfile如下,使用vagrant up命令安装。

Vagrant.require_version ">= 1.6.0"

boxes = [
    {
        :name => "manager",
        :eth1 => "192.168.200.10",
        :mem => "1024",
        :cpu => "4"
    },
    {
        :name => "worker1",
        :eth1 => "192.168.200.11",
        :mem => "1024",
        :cpu => "2"
    },
    {
        :name => "worker2",
        :eth1 => "192.168.200.12",
        :mem => "1024",
        :cpu => "2"
    }
]

Vagrant.configure(2) do |config|

  config.vm.box = "centos/7"

  boxes.each do |opts|
      config.vm.define opts[:name] do |config|
        config.vm.hostname = opts[:name]
        config.vm.provider "vmware_fusion" do |v|
          v.vmx["memsize"] = opts[:mem]
          v.vmx["numvcpus"] = opts[:cpu]
        end

        config.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--memory", opts[:mem]]
          v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]
        end

        config.vm.network :private_network, ip: opts[:eth1]
      end
  end
end
复制代码

环境准备

基础准备

由于vagrant machine比较精简所以先安装必要软件

yum install -y vim wget
复制代码

配置docker yum源,安装及启动。现使用的 docker 版本为docker-ce-18.06

cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum -y install docker-ce-18.06.1.ce-3.el7

systemctl enable docker && systemctl start docker
复制代码

关闭swap分区(若机器关机重启需再次执行此命令,可以执行使其开机初始化)

swapoff -a
复制代码

更改hosts

vim /etc/hosts
复制代码

添加以下内容

192.168.200.10  manger manger
192.168.200.11  worker1 worker1
192.168.200.12  worker2 worker2
复制代码

K8s准备

配置K8s源,使用的为阿里源

vim /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
复制代码

安装kubeadm等,版本为13.3

yum install -y kubectl-1.13.3 kubelet-1.13.3 kubeadm-1.13.3 
复制代码

设置内核参数

cat <<EOF > /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

EOF
复制代码

使配置生效

sysctl --system
复制代码

启动kubelet

systemctl enable kubelet && systemctl start kubelet
复制代码

搭建K8s集群

主节点(manger)

使用kubeadm初始化

kubeadm init --apiserver-advertise-address=192.168.200.10 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.13.3 --pod-network-cidr=10.244.0.0/16 --service-dns-domain=cluster.local --ignore-preflight-errors=Swap --ignore-preflight-errors=NumCPU
复制代码

初始化成功应该会出现如下情景

You can now join any number of machines by running the following on each node........
复制代码

执行以下命令,使得使用kubectl更为方便

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

配置网络插件,可以选择flannel ,但个人使用中出现问题,最终选择使用canal

kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/canal/rbac.yaml
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/canal/canal.yaml
复制代码

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Rework

Rework

Jason Fried、David Heinemeier Hansson / Crown Business / 2010-3-9 / USD 22.00

"Jason Fried and David Hansson follow their own advice in REWORK, laying bare the surprising philosophies at the core of 37signals' success and inspiring us to put them into practice. There's no jarg......一起来看看 《Rework》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具