手动搭建kubernetes集群(一)

最近在看有关k8s的一些知识,想手动搭建一套环境来体验一下,本文详细记录一下搭建的过程。

环境

三台Ubuntu系统的虚拟机,其中一台作为master,另外两台作为worker节点

步骤1:安装虚拟机

我的笔记本是一台Macbook Pro,首选安装一个虚拟机软件Vmware Fusion,过程略。

  1. 下载好Ubuntu镜像,我选择的是19.04版本。
  2. 打开Fusion,选择New,然后选择“Install from disk or image”,continue
  3. 设置好用户名和密码,中间还可以修改使用的硬盘空间等等,这个过程就不详述了。
  4. 安装好之后,进入系统,找到“terminal”,安装net-tools和ssh server
    sudo apt install net-tools ssh
    

步骤2:安装docker

  1. 更新包列表:
    sudo apt update
    
  2. 让apt支持https方式
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    
  3. 添加GPG密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 添加docker源
 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
  1. 再次更新apt
    sudo apt update
    
  2. 确保从Docker repo安装而不是默认的Ubuntu repo
    apt-cache policy docker-ce
    
  3. 开始安装docker
    sudo apt install docker-ce
    
  4. 接受所有ip的数据包转发
    vi /lib/systemd/system/docker.service
    
    找到ExecStart,在这上面加入下面一行
    ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
    
  5. 重启
    sudo systemctl daemon-reload
    sudo service docker restart
    

步骤3:系统设置

  1. 关闭防火墙

    ufw disable
    
  2. 设置系统转发参数

    cat <<EOF > /etc/sysctl.d/k8s.conf
     net.ipv4.ip_forward = 1
     net.bridge.bridge-nf-call-ip6tables = 1
     net.bridge.bridge-nf-call-iptables = 1
     net.ipv4.conf.all.rp_filter = 0
     EOF
    
    sysctl -p /etc/sysctl.d/k8s.conf
    
  3. 安装ntp服务,同步时钟

    sudo apt install ntp
    

步骤4:复制虚拟机

使用fusion的复制功能,复制出另外两台虚拟机

关掉刚装好的虚拟机,选择Fusion菜单Virtual Machine下面的Create Full Clone,Fusion就会clone出一个一模一样的虚拟机出来,是不是很方便

步骤5:设置免登陆和hosts文件

  1. 打开三台虚拟机,进入terminal,执行

    ifconfig
    

    找到各自的ip地址

  2. 打开Mac的terminal,输入下面的命令生成ssh公钥

    ssh-keygen -t rsa
    
  3. 将公钥分别拷贝到三台虚拟机上

    scp .ssh/id_rsa.pub user@xxx.xxx.xxx.xxx:
    

    user是虚拟机上的用户名,xxx代表各自的ip地址

  4. 在虚拟机上将公钥追加到.ssh/authorized_keys文件,并修改权限

    cat id_rsa.pub >> .ssh/authorized_keys
    chmod 600 authorized_keys
    
  5. 分别修改每台虚拟机上的hosts文件,用vim编辑器打开/etc/hosts,添加三台虚拟机的hosts信息,下面是我自己的host信息:

    192.168.32.131 server01
    192.168.32.132 server02
    192.168.32.133 server03
    

ok,到现在为止,基本的安装环境应该是准备好了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 5,858评论 0 7
  • linux 查看系统版本确认使用的docker版本 uname -a --查看Linux内核版本命令cat /pr...
    只有香如故阅读 5,124评论 1 4
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls...
    小杰的简书阅读 7,434评论 0 45
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件)ls -a 列出当前目录文件(包括隐含文件)l...
    路痴千行阅读 7,307评论 0 5
  • 写在前面 态度决定高度!让优秀成为一种习惯! 世界上没有什么事儿是加一次班解决不了的,如果有,就加两次!(- - ...
    夜尽天明时阅读 13,940评论 1 6

友情链接更多精彩内容