1. 程式人生 > >基於linux7的k8s部署(一)

基於linux7的k8s部署(一)

基於linux7的k8s部署 k8s Kubernetes Kubernetes集群

基於linux7的k8s部署(一)

  1. 環境準備
    #系統環境
    lsb_release -a
    Distributor ID: CentOS
    Description:    CentOS Linux release 7.3.1611 (Core)
    Release:    7.3.1611
    Codename:   Core
    說明:如提示:-bash: lsb_release: command not found,請yum install -y redhat-lsb
    #查看selinux狀態
    getenforce
    Disabled
    #docker 版本
    docker --version
    Docker version 17.09.0-ce, build afdb6d4
  2. 初始化配置工作
    Master 和 Node 節點由於分工不一樣,所以安裝的服務不同,最終安裝完畢,Master 和 Node 啟動的核心服務分別如下:
Master 節點 Node 節點
etcd-master kube-flannel
kube-apiserver kube-proxy
kube-controller-manager other apps
kube-proxy --------
kube-scheduler --------
kube-dns --------
kube-flannel --------
pause-amd64 --------
  1. 基礎鏡像(二進制文件)(以v1.10.0為例):
    #說明:
    做高可用必須保證master節點為2個及其以上,推薦3個節點!
    #下載kubernetes二進制文件
    可以從kubernetes上下載,一般需要下載server包即可,解壓文件後,使用docker load 命令把tar包load成可用鏡像(如有需要打上自己想要的tag)。
    #下載:
    kubernetes-server-linux-amd64.tar.gz
    kubernetes-src.tar.gz
    kubernetes.tar.gz
    #解壓縮
    tar zxf kubernetes-server-linux-amd64.tar.gz
    cd /data/k8s/kubernetes/server/bin
    #創建鏡像
    docker load -i  kube-apiserver.tar
    docker load -i kube-controller-manager.tar
    docker load -i kube-scheduler.tar
    docker load -i kube-proxy.tar

    #本次演示 kubernetes 所依賴的各個鏡像列表如下:

Image Name Version Des ( * 必需)
k8s.gcr.io/kube-apiserver v1.10.0 *
k8s.gcr.io/kube-controller-manager v1.10.0 *
k8s.gcr.io/kube-scheduler v1.10.0 *
k8s.gcr.io/kube-proxy v1.10.0 *
k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64 1.14.8 *
k8s.gcr.io/k8s-dns-sidecar-amd64 1.14.8 *
k8s.gcr.io/k8s-dns-kube-dns-amd64 1.14.8 *
k8s.gcr.io/pause-amd64 3.1 *
quay.io/coreos/flannel v0.9.1 *
quay.io/calico/node v2.6.2
quay.io/calico/cni v1.11.0
k8s.gcr.io/etcd-amd64 3.1.12
  1. 運行kubelet服務
    #cp文件
    cp /data/k8s/kubernetes/server/bin/kubeadm   /usr/bin/
    cp /data/k8s/kubernetes/server/bin/kubectl      /usr/bin/
    cp /data/k8s/kubernetes/server/bin/kubelet      /usr/bin/
    #cp kubelet.service文件
    mkdir kubernetes-src
    tar zxf kubernetes-src.tar.gz -C ./kubernetes-src/
    cd /data/k8s/kubernetes-src/build/rpms
    cp ./kubelet.service  /etc/systemd/system/
    chmod 755  /etc/systemd/system/kubelet.service
    #修改kubelet.service文件
    [Unit]
    Description=kubelet: The Kubernetes Node Agent
    Documentation=http://kubernetes.io/docs/
    [Service]
    ExecStart=/usr/bin/kubelet
    Restart=always
    StartLimitInterval=0
    RestartSec=10
    [Install]
    WantedBy=multi-user.target
    #開啟kubelet服務
    systemctl start  kubelet.service
    systemctl status kubelet.service

基於linux7的k8s部署(一)