k8s學(xué)習(xí)-1

此文用的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

2 node-name 沖突導(dǎo)致node join cluster后master執(zhí)行kubectl get nodes查不到

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容