ubuntu物理机上搭建Kubernetes集群 -- minion 配置

1. flannel配置

  • 下载二进制文件 https://github.com/coreos/flannel/releases 版本:flannel-v0.7.0-linux-amd64.tar.gz
  • flanneld, mk-docker-opts.sh拷贝到/usr/bin目录下(确保两个文件具有可执行的模式chmod 777 flanneld)
  • 创建配置文件/lib/systemd/system/flanneld.service
    [Unit]
    Description=Flanneld overlay address etcd agent
    After=network.target
    After=network-online.target
    Wants=network-online.target
    After=etcd.service
    Before=docker.service
    
    [Service]
    Type=notify
    EnvironmentFile=-/etc/flannel/flannel.conf
    EnvironmentFile=-/etc/sysconfig/docker-network
    ExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD} -etcd-prefix=${FLANNEL_ETCD_KEY} $FLANNEL_OPTIONS
    ExecStartPost=/usr/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    RequiredBy=docker.service
  • 创建配置文件/etc/flannel/flannel.conf
    #flanneld configuration options
    
    # etcd url location.  Point this to the server where etcd runs
    FLANNEL_ETCD="http://109.105.46.94:2379"
    
    # etcd config key.  This is the configuration key that flannel queries
    # For address range assignment
    FLANNEL_ETCD_KEY="/flannel/network"
    
    # Any additional options that you want to pass
    FLANNEL_OPTIONS=""
  • 启动服务systemctl start flannel
  • 查看是否成功 ip a

2.为了使docker使用flannel创建的子网,需要修改docker的启动文件

  • flannel成功启动后,会自动在/run/flannel下创建docker和 subnet.env两个文件,将这两个文件加入到docker启动文件中
  • 修改/lib/systemd/system/docker.service
  • 重启docker

systemctl daemon-reload

systemctl restart docker

3.将kubelet,kube-proxy拷贝到/user/bin目录下

  • 创建kubelet配置文件 /lib/systemd/system/kubelet.service
[Unit]
Description=kubelet
Documentation=http://kubernetes.io/docs/

[Service]
ExecStart=/usr/bin/kubelet 
--address=0.0.0.0 
--hostname-override=109.105.46.95 
--api-servers=http://109.105.46.94:8080 
--log-dir=/home/nwlab/kubernets/logs/kubelet 
--v=0 
--allow-privileged=false

KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
  • 创建kube-proxy配置文件 /lib/systemd/system/kube-proxy.service
[Unit]
Description=kube-proxy
Documentation=http://kubernetes.io/docs/

[Service]
ExecStart=/usr/bin/kube-proxy 
--v=0 
--logtostderr=true 
--hostname-override=109.105.46.95
--log-dir=/home/nwlab/kubernets/logs/kubelet
--bind-address=0.0.0.0
--master=http://109.105.46.94:8080 KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
  • 启动kubelet,kube-proxy 服务
systemctl daemon-reload
systemctl  restart kubelet.service
systemctl  restart kube-proxy.service
  • 查看是否成功 在master上执行 kubectl get nodes

原文地址:https://www.cnblogs.com/xiaoyu-10201/p/6516397.html