kubernetes(K8S)——1. 环境准备

基础部分参看官网介绍,很详细:https://kubernetes.io/zh

1. 快速体验(minikube)

https://github.com/kubernetes/minikube/releases

1.1 安装

1)下载minikube-windows-amd64.exe改名为minikube.exe

2)打开VirtualBox,打开cmd

3)运行minikube start --vm-driver=virtualbox --registry-mirror=https://registry.docker-cn.com

等待20分钟左右即可

开发模式多使用之。

2. kubeadm集群安装

2.1 前置要求

1)1台或多台机器,操作系统CentOS7.x-86_X64
2)硬件配置:2G或者更多RAM,2个CPU或者更多CPU,硬盘30G或更多
3)集群中所有机器之间网络互通
4)可以访问外网,需要拉取镜像
5)禁止swap分区

2.2 安装

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署

2.2.1 创建一个Master节点

命令:kubeadm init

2.2.2 将一个Node节点加入到当前集群中

命令:kubeadm join <Master节点的IP和端口>

2.3 部署步骤

1)在所有节点上安装Docker和Kubeadm
2)部署Kubernetes Master
3)部署容器网络插件
4)部署kubernetes Node,将节点加入kubernetes集群中
5)部署Dashboard Web页面,可视化查看Kubernetes资源

3. 环境准备

        我们可以使用vagrant快速创建三个虚拟机,虚拟机启动前先设置virtualBox的主机网络,现全部统一为192.168.56.1,以后所有虚拟机都是56.x的ip地址

3.1 准备vagrant脚本

Vagrantfile

如图:

Vagrant.configure("2") do |config|
   (1..3).each do |i|
        config.vm.define "k8s-node#{i}" do |node|
            # 设置虚拟机的Box
            node.vm.box = "centos/7"

            # 设置虚拟机的主机名
            node.vm.hostname="k8s-node#{i}"

            # 设置虚拟机的IP
            node.vm.network "private_network", ip: "192.168.56.#{99+i}", netmask: "255.255.255.0"

            # 设置主机与虚拟机的共享目录
            # node.vm.synced_folder "~/Documents/vagrant/share", "/home/vagrant/share"

            # VirtaulBox相关配置
            node.vm.provider "virtualbox" do |v|
                # 设置虚拟机的名称
                v.name = "k8s-node#{i}"
                # 设置虚拟机的内存大小
                # v.memory = 4096
				v.memory = 2048
                # 设置虚拟机的CPU个数
                v.cpus = 4
            end
        end
   end
end

3)在命令行执行命令:vagrant up

如图:

安装完成,如图所示:

3.2 开启vagrant账号密码访问

默认vagrant只能ssh访问,需要设置开启账号密码访问。进入三个虚拟机,开启root的密码访问权限

3.2.1 连接第一台虚拟机节点

命令:

vagrant ssh 虚拟机名称(k8s-node1)

例如:

3.2.2 切换root用户

su root

密码是:vagrant

如图:

3.2.3 修改配置

vi /etc/ssh/sshd_config

修改passwordAuthentication yes/no

保存并退出。

3.2.4 重启sshd服务

service sshd restart

如图:

3.2.5 退出

1)退出root

2)退出虚拟机

其他两个节点,重复上面的动作。完成之后,就可以使用X-Sheel等工具连接虚拟机了。

3.3 设置网络环境

3.3.1 查看网络环境

1)在三个节点机器上分别查看网卡

2)在三个节点机器上分别查看ip

发现三个节点的eth0都是同样的ip地址,如图:

3.3.2 设置网络

1)首先关闭所有的节点

2)设置

管理——全局设定——网络

点击上图中的加号,创建一个NAT网络,点击OK

3)分别为每一个机器设置

在弹窗中,选择网络,将“网络地址转换”改成“NAT网络”,如图:

然后,点击高级,重新生成mac地址,如图:

另外节点,相同的步骤。

注意:eth0网卡就是K8s集群用的

3.3.3 节点互ping

然后,在ping百度,如图:

3.4 设置Linux前置环境(节点都需要设置)

3.4.1 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

3.4.2 关闭Linux默认安全策略(selinux)

如图:

默认是开启的,将其关掉。

vi /etc/selinux/config

当前会话也禁掉

setenforce 0

其他节点相同的操作。

3.4.3 关闭内存交换(swap)

1)关闭当前会话(临时关闭)

swapoff -a

2)设置永久关闭

查看默认配置,如图:

执行关闭命令:

sed -ri 's/.*swap.*/#&/' /etc/fstab

如图:

3.4.4 设置主机与IP对应关系

通过hostname命令,查看当前主机名,如图:

配置主机与IP对应关系的时候,使用的是这个主机名,而不是localhost

注意:如果不想用这个主机名,可以使用命令设置主机名

hostnamectl set-hostname <newHostName>

设置主机与IP地址对应关系,需要使用eth0网卡的IP,

设置如下:

vi /etc/hosts

10.0.2.15 k8s-node1
10.0.2.4  k8s-node2
10.0.2.5  k8s-node3

如图:

3.4.5 将桥接的IPV4的流量传递到iptables的链

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

设置这个的目的是为了防止流量统计指标的准确性

注意:sysctl --system命令是让系统应用刚才的配置

如图:

3.4.6 同步时间(可选操作)

1)安装ntpdate

yum install -y ntpdate

2)同步最新时间

ntpdate time.windows.com

如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值