此文用的k8s為1,13,1(網(wǎng)絡(luò)需要能訪問k8s.gcr.io)
準(zhǔn)備兩個(gè)個(gè)虛擬機(jī)(此處用vagrant)
vagrant init envimation/ubuntu-xenial
修改Vagrantfile
配置網(wǎng)絡(luò)模式和Ip
config.vm.network "public_network", ip:"192.168.1.30"
配置內(nèi)存大小,此處2G
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end
vagrant ssh
安裝指定版本docker
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu(可通過sudo apt-cache policy docker-ce查看所有版本并選擇合適的,此處是k8s支持到18.06所以選擇這個(gè)版本)
安裝kubeadm,kubectl,kubelet
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
安裝 k8s
kubeadm init --kubernetes-version=v1.13.1 --apiserver-advertise-address=192.168.1.30 --pod-network-cidr=10.244.0.0/16
安裝網(wǎng)絡(luò)插件
sysctl net.bridge.bridge-nf-call-iptables=1
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
配置(kubectl會(huì)使用到,把這個(gè)文件拷貝到其他機(jī)器,安裝好kubectl也可以訪問)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安裝node節(jié)點(diǎn)
在第二臺(tái)虛擬機(jī)上執(zhí)行(以上的命令是在第一臺(tái)虛擬機(jī)kubeadmin 初始化結(jié)束后返回的)
提示:此處記得加上node-name參數(shù)或者修改hostname(因?yàn)橹鳈C(jī)名默認(rèn)是相同的,會(huì)有沖突)
kubeadm join 192.168.1.30:6443 --token uatpe3.t43t7omocf738o3k --discovery-token-ca-cert-hash sha256:a361b23821b2be1c9066feed6edce44508a6743bf5a1ae07ad7387472e855989 -node-name test
驗(yàn)證
kubectl get nodes
顯示
NAME STATUS ROLES AGE VERSION
base-debootstrap Ready master 11m v1.13.1
test Ready <none> 4m17s v1.13.1
遇到問題
1 token 失效時(shí)間默認(rèn)24小時(shí)
可以創(chuàng)建永不過期token
kubeadm token create --ttl 0