安裝 kubernetes v1.11.1

kubernetes 版本 v1.11.1
系統版本:Centos 7.4 3.10.0-693.el7.x86_64html

master: 192.168.0.205
node1: 192.168.0.206
node2: 192.168.0.207node

pod 地址段:10.244.0.0/16
service 地址段:10.96.0.0/12git

由於某種緣由,國內沒法直接獲取k8s的鏡像,這裏列出須要用到的鏡像。已在百度雲盤共享,須要的自行下載:
連接: https://pan.baidu.com/s/10yXHln4qC5Sxc3TLzgNEAg 密碼: furpgithub

master:
k8s.gcr.io/kube-proxy-amd64:v1.11.1
k8s.gcr.io/kube-scheduler-amd64:v1.11.1
k8s.gcr.io/kube-controller-manager-amd64:v1.11.1
k8s.gcr.io/kube-apiserver-amd64:v1.11.1
k8s.gcr.io/coredns:1.1.3
k8s.gcr.io/etcd-amd64:3.2.18
quay.io/coreos/flannel:v0.10.0-amd64
k8s.gcr.io/pause:3.1docker

node:
k8s.gcr.io/kube-proxy-amd64:v1.11.1
quay.io/coreos/flannel:v0.10.0-amd64
k8s.gcr.io/pause:3.1
k8s.gcr.io/coredns:1.1.3api


安裝前確保

1.主機間能夠相互經過主機名通訊,如修改 /etc/hosts
2.主機時間同步
3.主機關閉 firewalld 和 iptables
4.安裝 docker-ce ,詳情參考:https://www.cnblogs.com/klvchen/p/8468855.html網絡

開始安裝,在 master 上執行

# 配置  kubernetes 源
cat >> /etc/yum.repos.d/kubernetes.repo << EOF 
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
enabled=1
EOF

# 測試 yum 源
yum repolist

# 把 kubernetes.repo 複製到其餘機器
cd /etc/yum.repos.d
scp kubernetes.repo root@192.168.0.206:/etc/yum.repos.d
scp kubernetes.repo root@192.168.0.207:/etc/yum.repos.d

# 安裝 kubelet,kubeadm,kubectl
yum install kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1 -y

# 確保下面三個值爲 1
cat /proc/sys/net/bridge/bridge-nf-call-iptables 
cat /proc/sys/net/bridge/bridge-nf-call-ip6tables 
cat /proc/sys/net/ipv4/ip_forward

# 若是不是,則添加:
vi  /etc/sysctl.conf 
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1

# 使配置文件生效
sysctl -p

# kubelet 設置開機啓動
systemctl enable kubelet

# 啓用 swap 
# 修改爲
sed -i 's#KUBELET_EXTRA_ARGS=#KUBELET_EXTRA_ARGS="--fail-swap-on=false"#g' /etc/sysconfig/kubelet

# 手動導入鏡像

# 初始化集羣
kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap

# 這裏須要記錄下前一命令的執行結果:
kubeadm join 192.168.0.205:6443 --token phzg6j.4kwhu03dvsddd9vx --discovery-token-ca-cert-hash sha256:4e6f8195e7e23b7929d6d5068fffddb5e0652bf49fea4aefe9c868b990b5507b

# 建立執行集羣命令的用戶
useradd klvchen
mkdir -p /home/klvchen/.kube
cp -i /etc/kubernetes/admin.conf /home/klvchen/.kube/config
chown -R klvchen.klvchen /home/klvchen/.kube

# 部署 flannel 網絡,詳情可參考:https://github.com/coreos/flannel
su - klvchen
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

在 node1, node2 上執行

# 安裝 kubelet,kubeadm,kubectl
yum install kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1 -y

# kubelet 設置開機啓動
systemctl enable kubelet

# 啓用 swap 
# 修改爲
sed -i 's#KUBELET_EXTRA_ARGS=#KUBELET_EXTRA_ARGS="--fail-swap-on=false"#g' /etc/sysconfig/kubelet

# 確保下面三個值爲 1
cat /proc/sys/net/bridge/bridge-nf-call-iptables 
cat /proc/sys/net/bridge/bridge-nf-call-ip6tables 
cat /proc/sys/net/ipv4/ip_forward

# 若是不是,則添加:
vi  /etc/sysctl.conf 
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1

# 使配置文件生效
sysctl -p

# 本地導入須要的鏡像

# 加入集羣,注意,這裏後面要啓用 swap,最後加上參數:--ignore-preflight-errors=Swap
kubeadm join 192.168.0.205:6443 --token phzg6j.4kwhu03dvsddd9vx --discovery-token-ca-cert-hash sha256:4e6f8195e7e23b7929d6d5068fffddb5e0652bf49fea4aefe9c868b990b5507b --ignore-preflight-errors=Swap

在 master 查看

# 查詢組件狀態
kubectl get cs
kubectl get componentstatus

# 查詢節點, 看到 master 和2個 node 都已經 Ready 即表示建立成功
kubectl get nodes
相關文章
相關標籤/搜索