安裝部署k8s-版本-1.13

1.環境準備node

# 統一hosts
cat /etc/hosts
10.0.0.10  k8s-master
10.0.0.20  k8s-node1
10.0.0.30  k8s-node2
# 同步時間
ntpdate ntp1.aliyun.com
# 禁用SELINUX,關閉firewalld和iptables.service,k8s會本身設置iptables網絡策略 
systemctl stop iptables.service
systemctl disable iptables.service
systemctl stop firewalld.service 
systemctl disable firewalld.service
# 關閉swap,修改/etc/fstab文件,註釋掉SWAP的自動掛載,使用free -m確認swap已經關閉
swapoff -a
# 調整swappiness參數
# 建立/etc/sysctl.d/k8s.conf文件,添加以下內容
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
# 生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
# 開啓ipvs
yum -y install ipvsadm
vim /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
ipvs_mods_dir="/usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs"
for i in $(ls $ipvs_mods_dir | grep -o "^[^.]*");do
   /sbin/modinfo -F filename $i &> /dev/null
  if [ $? -eq 0 ];then
    /sbin/modprobe $i
  fi
done
chmod +x /etc/sysconfig/modules/ipvs.modules
bash /etc/sysconfig/modules/ipvs.modules
lsmod | grep ip_vs

2.安裝linux

# 安裝 Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce-18.06.1.ce-3.el7 -y
# FQ代理無論用了,註釋掉
vim /usr/lib/systemd/system/docker.service
#Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
Environment="NO_PROXY=127.0.0.1/8,127.0.0.1/16"
systemctl daemon-reload
systemctl start docker
systemctl enable docker

cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
# 給兩個node分發文件
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_dsa.pub 10.0.0.20
ssh-copy-id -i ~/.ssh/id_dsa.pub 10.0.0.30
for i in 20 30; do scp /etc/yum.repos.d/{docker-ce.repo,kubernetes.repo} 10.0.0.$i:/etc/yum.repos.d/;done
# 若是用下面這條命令,就會下載最新版本,這裏咱們用1.13
# yum install -y kubelet kubeadm kubectl
yum -y install kubelet-1.13.0 kubeadm-1.13.0 kubernetes-cni-0.6.0 kubectl-1.13.0
# 設置爲開機自啓,先不要啓動該服務.等初始化完成了再啓動
systemctl enable kubelet
# 將鏡像先下載到本地
cat pull-images.sh
#!/bin/bash
images=(kube-apiserver:v1.13.0 kube-controller-manager:v1.13.0 kube-scheduler:v1.13.0 kube-proxy:v1.13.0 pause:3.1 etcd:3.2.24 coredns:1.2.6)

for ima in ${images[@]}
do
   docker pull   registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima
   docker tag    registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima   k8s.gcr.io/$ima
   docker rmi  -f  registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima
done

chmod +x pull-images.sh && ./pull-images.sh
# 集羣初始化
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
kubeadm init --kubernetes-version=v1.13.0 --pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12  --ignore-preflight-errors=Swap
...
  kubeadm join 10.0.0.10:6443 --token 05blrg.37hx6cwa85giuj5c --discovery-token-ca-cert-hash \
sha256:0a1635e9f31e78317524545faa3dd5957665f8b871b168a605ef523dacbea7bb
# 初始化中輸出的kubeadm join 10.0.0.10:6443這句話,保存好,之後要使用這個命令把node加入集羣,而且該命令沒法復現
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# 安裝flannel網絡組件(master上執行)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

初始化k8s集羣git

3.查看信息github

# 查看狀態信息
kubectl get cs
# 查看節點信息,狀態爲NotReady,是由於還缺flannel組件,沒有這個組件沒法設置網絡
kubectl get nodes
# 查看當前master節點上kube-system名稱空間裏運行的全部pod狀態
kubectl get pods -n kube-system
# 全部pod必須保證都是running狀態的,若是哪一個不是,能夠經過相似以下命令查看緣由
kubectl dscrible pods coredns-86c58d9df4-qz9xc -n kube-system
# 查看當前節點名稱空間
kubectl get ns
# 查看pod詳細狀態
kubectl get pods -n kube-system -o wide
kubectl get pods --all-namespaces -o wide

4.node上執行docker

# nodes上能夠不安裝kubectl
yum -y install kubelet-1.13.0 kubeadm-1.13.0 kubernetes-cni-0.6.0
systemctl enable kubelet
cat pull-images.sh
#!/bin/bash
images=(pause:3.1 kube-proxy:v1.13.0)
for ima in ${images[@]}
do
   docker pull   registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima
   docker tag    registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima   k8s.gcr.io/$ima
   docker rmi  -f  registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima
done

chmod +x pull-images.sh && ./pull-images.sh
docker pull quay.io/coreos/flannel:v0.11.0-amd64
# 執行kubeadm join
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
kubeadm join 10.0.0.10:6443 --token 05blrg.37hx6cwa85giuj5c --discovery-token-ca-cert-hash \
sha256:0a1635e9f31e78317524545faa3dd5957665f8b871b168a605ef523dacbea7bb \
--ignore-preflight-errors=Swap

也能夠從這裏下載鏡像registry.cn-hangzhou.aliyuncs.com/google_containersvim

node節點上須要的三個鏡像centos

兩個節點加入masterapi

 

 

參考博客:https://www.jianshu.com/p/427162394424bash

參考博客:http://blog.itpub.net/28916011/viewspace-2213536/網絡

相關文章
相關標籤/搜索