使用kubeadm安装kubernetes v1.14.1

一、环境准备

操作系统:Centos 7.5

​ ⼀ 一台或多台运⾏行行着下列列系统的机器器:

​ Ubuntu 16.04+

​ Debian 9

​ CentOS 7

​ RHEL 7

​ Fedora 25/26 (尽⼒力力服务)

​ HypriotOS v1.0.1+

​ Container Linux (针对1800.6.0 版本测试)

​ 每台机器器 2 GB 或更更多的 RAM (如果少于这个数字将会影响您应⽤用的运⾏行行内存)2 CPU 核⼼心或更更多

​ 集群中的所有机器器的⽹网络彼此均能相互连接(公⽹网和内⽹网都可以)节点之中不不可以有重复的主机名,MAC 地址,product_uuid。更更多详细信息请参⻅见这⾥里里 。

​ 开启主机上的⼀一些特定端口. 更更多详细信息请参⻅见这⾥里里。

​ 禁⽤用 Swap 交换分区。为了了保证 kubelet 正确运⾏行行,必须 禁⽤用交换分区。

二、安装步骤

  1. 定义hostname

    hostname k8s-master
  2. 编辑 /etc/hosts

    vi /etc/hosts
    
    #当然我们在这⾥里里根据实际情况指定⾃自⼰己的ip地址即可
    192.168.194.135 k8s-master
  3. 禁用交换分区等操作

    # 将 SELinux 设置为 permissive 模式(将其禁⽤用)
    setenforce 0
    sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
    # 可先不运行
    cat <<EOF > /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF sysctl --system
  4. 配置yum源并安装相关相关核⼼心⽂文件

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF yum install -y docker kubelet kubeadm kubectl --disableexcludes=kubernetes
  5. 设置docker 与 kubelet 开机启动

    systemctl enable kubelet
    
    systemctl enable docker
    
    systemctl start docker
  6. 下载kubernetes所需镜像

    我们事先可以通过如下命令查看所依赖的docker镜像版本 kubeadm config images list ,然后通过国内镜像仓库下载所需的镜像⽂文件:

    docker pull mirrorgooglecontainers/kube-apiserver:v1.14.1
    docker pull mirrorgooglecontainers/kube-controller-manager:v1.14.1
    docker pull mirrorgooglecontainers/kube-scheduler:v1.14.1
    docker pull mirrorgooglecontainers/kube-proxy:v1.14.1
    docker pull mirrorgooglecontainers/pause:3.1
    docker pull mirrorgooglecontainers/etcd:3.3.10
    docker pull coredns/coredns:1.3.1

    注意:在这⾥里里的版本号⼀一定要先通过上述命令查看后在填写,本例例中的是v1.14.1后续可能版本会有变化,因为国内的源随时可能更更新k8s的版本

  7. 更改镜像名称

    docker tag docker.io/mirrorgooglecontainers/kube-proxy:v1.14.1 k8s.gcr.io/kube-proxy:v1.14.1
    docker tag docker.io/mirrorgooglecontainers/kube-scheduler:v1.14.1 k8s.gcr.io/kube-scheduler:v1.14.1
    docker tag docker.io/mirrorgooglecontainers/kube-apiserver:v1.14.1 k8s.gcr.io/kube-apiserver:v1.14.1
    docker tag docker.io/mirrorgooglecontainers/kube-controller-manager:v1.14.1 k8s.gcr.io/kube-controller-manager:v1.14.1
    docker tag docker.io/mirrorgooglecontainers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
    docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
    docker tag docker.io/coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1

    删除原先的镜像:

    docker image rm docker.io/mirrorgooglecontainers/kube-apiserver:v1.14.1
    docker image rm docker.io/mirrorgooglecontainers/kube-controller-manager:v1.14.1
    docker image rm docker.io/mirrorgooglecontainers/kube-scheduler:v1.14.1
    docker image rm docker.io/mirrorgooglecontainers/kube-proxy:v1.14.1
    docker image rm docker.io/mirrorgooglecontainers/pause:3.1
    docker image rm docker.io/mirrorgooglecontainers/etcd:3.3.10
    docker image rm docker.io/coredns/coredns:1.3.1
  8. 初始化master环境

    kubeadm init --kubernetes-version v1.14.1  --pod-network-cidr 10.244.0.0/16  --ignore-preflight-errors=NumCPU

    当运⾏行行成功后会出现的提示信息,我们注意以下几点

    • 根据提示信息我们可以运⾏行行:

      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
    • 记录加⼊入token的秘钥


  9. 按需开启master创建pod的功能

    kubectl taint nodes --all node-role.kubernetes.io/master-

    默认情况出于安全考虑 master节点是不不允许创建pod的,我们可以通过如上命令开启此功能

  10. 安装⽹网络插件

    $ iptables -P FORWARD ACCEPT
    
    $ kubectl apply -f	https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

    当所有运⾏行行完成后 我们可以通过 kubectl get pod --all-namespaces 来查看pod的运⾏行行状态,当所有为run的状态时,证明启动完毕

最新文章

  1. 如何在VS 2010中使用 VS2013的解决方案(转)
  2. ASP.NET 实现站内信功能(点对点发送,管理员群发)
  3. Atitit intellij idea的使用总结attilax
  4. 【新产品发布】发布STM8S 核心板
  5. eclipse编辑jsp快捷键保存时特别卡的解决方法
  6. Android 圆形ProgressBar风格设置
  7. MySQL的C语言编程(一)
  8. bzoj usaco 金组水题题解(1)
  9. hdu 1880 魔咒字典
  10. [LeetCode] Super Washing Machines 超级洗衣机
  11. 【新手向】自用的tooltip小插件,前端插件知识科普~
  12. redis 系列7 数据结构之跳跃表
  13. [原创]标记下Kendo使用中的问题, 持续更新中ing.....
  14. 记一次win10+oracle11.2安装
  15. Mysql 索引 事物
  16. Edge Deletion CodeForces - 1076D(水最短路)
  17. Expressions versus statements in JavaScript
  18. loadrunner java ssh
  19. flask开发的CMS管理系统
  20. 前端html用一个表单来映射后台多个对象

热门文章

  1. swing_tableModel 创建表格
  2. css清除浮动float的七种常用方法总结和兼容性处理
  3. python读取一个文件的每一行判断是否为素数,并把结果写到另一个文件中
  4. xcode 修改类名 变量名
  5. The Castle
  6. C++ set和map的简单使用
  7. codeforces 724C
  8. vim中编辑了代码 但是提示can not write的解决办法和代码对齐办法
  9. Codeforces - 814B - An express train to reveries - 构造
  10. PTA 模拟【string以及字母-&gt;数组下标】