node
linux
git
hostname k8s-master
2.github
vi /etc/hosts #固然咱們在這⾥根據實際狀況指定⾃⼰的ip地址便可 192.168.194.135 k8s-master
# 將 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源並安裝相關核⼼⽂件docker
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 開機啓動api
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
網絡
app
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的祕鑰
kubeadm join 172.17.0.13:6443 --token a5tzoh.svr1xpsh2kpdjfcn --discovery-token-ca-cert-hash sha256:816577e3c2b2c3184002f49089de08963dd34e63166017bbe7edbeba15fdc2b2 #19.4.22 15:16 kubeadm join 172.19.67.179:6443 --token b3vz9z.3e15folsd6h4pzbi \ --discovery-token-ca-cert-hash sha256:461913a92fbbbf0adc18808ed1c796b5d80c45183611d2d54e09624c85a550e9 #19.4.22 15.47 kubeadm join 172.19.67.179:6443 --token p65zw9.i3tfyz1pcgihy6i2 --discovery-token-ca-cert-hash sha256:f397790ffdfe0d2ee5d9fc67a3e04acd00554e8c23e8da78bf9ead347c8dd67a #19.4.24 15.35
按需開啓master建立pod的功能
kubectl taint nodes --all node-role.kubernetes.io/master-
默認狀況出於安全考慮 master節點是不容許建立pod的,咱們能夠經過如上命令開啓此功能
安裝⽹網絡插件
$ iptables -P FORWARD ACCEPT $ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml