zoukankan      html  css  js  c++  java
  • ubuntu物理机上搭建Kubernetes集群 -- master 配置

    1. 将  kube-apiserver, kube-controller-manager, kube-scheduler,kubectl 拷贝到/usr/bin目录下

    2. 安装etcd

    • sudo apt-get install etcd
    • 版本  2.2.5
    • 修改/usr/lib/systemd/system/etcd.service文件,配置etcd单机版模式
    [Unit]
    Description=etcd server
    Documentation=https://github.com/coreos/etcd
    Documentation=man:etcd
    After=network.target
    Wants=network-online.target
    
    [Service]
    WorkingDirectory=/var/lib/etcd/
    EnvironmentFile=-/etc/etcd/etcd.conf
    Type=notify
    User=etcd
    PermissionsStartOnly=true
    
    ExecStart=/usr/bin/etcd
    Restart=on-failure
    
    #RestartSec=10s
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
    Alias=etcd2.service
    ~
    • 修改配置文件etc/etcd/etcd.conf
    ETCD_ME=default
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    ETCD_LISTEN_CLIENT_URLS="http://109.105.46.94:2379,http://127.0.0.1:2379"
    ETCD_LISTEN_PEER_URLS="http://109.105.46.94:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://109.105.46.94:2379"
    • 启动服务 systemctl start etcd
    • 检查是否工作

    etcdctl set hello world

    etcdctl get hello

    • 创建网络,后面flannel会使用
    etcdctl mk /flannel/network/config '{"Network":"172.17.0.0/16"}'

    3. apiserver 配置

    • 创建kubernetes API server的配置文件/usr/lib/systemd/system/kube-apiserver.service
    [Unit]
    After=etcd.service
    ConditionFileIsExecutable=/usr/bin/kube-apiserver
    Description=Kubernetes API Server
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    Wants=etcd.service
    
    [Service]
    ExecStart=/usr/bin/kube-apiserver 
    --insecure-bind-address=0.0.0.0 
    --insecure-port=8080 
    --bind-address=0.0.0.0 
    --secure-port=6443 
    --etcd_servers=http://109.105.46.94:2379 
    --service-cluster-ip-range=192.168.0.0/16 
    --service-node-port-range=30000-32767
    --logtostderr=true --v=0 --log-dir=/home/nwlab/kubernetes/logs Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
    • 启动服务  
      systemctl daemon-reload
      systemctl start kube-apiserver
      systemctl status kube-apiserver(or journalctl -xe) 

    4. controller-manager配置

    • 创建配置文件 /usr/lib/systemd/system/kube-controller-manager.service 
    [Unit]
    After=etcd.service
    ConditionFileIsExecutable=/usr/bin/kube-controller-manager
    Description=Kubernetes Controller Manager
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    Wants=etcd.service
    
    [Service]
    ExecStart=/usr/bin/kube-controller-manager 
    --master=109.105.46.94:8080 
    --logtostderr=true 
    --v=0 
    --log-dir=/home/nwlab/kubernetes/logs
    Restart=always
    RestartSec=10
    [Install]
    WantedBy=multi-user.target
    • 启动服务
    systemctl daemon-reload
    systemctl start kube-controller-manager
    systemctl status kube-controller-manager(or journalctl -xe) 

    5. scheduler配置

    • 创建配置文件 /usr/lib/systemd/system/kube-scheduler.service 
    [Unit]
    After=etcd.service
    ConditionFileIsExecutable=/usr/bin/kube-scheduler
    Description=Kubernetes Scheduler
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    Wants=etcd.service
    
    [Service]
    ExecStart=/usr/bin/kube-scheduler 
    --master=109.105.46.94:8080 
    --address=0.0.0.0 
    --logtostderr=true
    --v=0 
    --log-dir=/home/nwlab/kubernetes/logs Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
    • 启动服务
    systemctl daemon-reload
    systemctl restart kube-scheduler
    systemctl status kube-scheduler(or journalctl -xe) 

     6.检查  kubectl get componentstatuses

     

      

  • 相关阅读:
    存储器的分配与回收算法实现
    jsoup抓取借书记录
    java学习碰到死胡同了
    PHP MYSQL登陆和模糊查询
    JAVA进阶之路(一)
    String是最基本的数据类型吗?
    面向对象的特征有哪些方面
    sqoop
    你真的理解 new 了吗?
    面试题目 字符串的去重与压缩(统计)
  • 原文地址:https://www.cnblogs.com/xiaoyu-10201/p/6498065.html
Copyright © 2011-2022 走看看