基於linux7的k8s部署(一)
阿新 • • 發佈:2018-05-02
基於linux7的k8s部署 k8s Kubernetes Kubernetes集群 基於linux7的k8s部署(一)
- 環境準備
#系統環境 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
- 初始化配置工作
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 | -------- |
- 基礎鏡像(二進制文件)(以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 |
- 運行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部署(一)