天天看點

docker容器---kubernetes部署

實驗之前確定環境純淨,關閉swarm的所有東西,最好用新開的虛拟機

[[email protected] compose]# vim /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl restart docker
[[email protected] ~]# scp /etc/docker/daemon.json server3:/etc/docker/daemon.json
[[email protected] ~]# scp /etc/docker/daemon.json server4:/etc/docker/daemon.json
檔案傳輸給server3、4也需要重新加載
[[email protected] ~]# docker info
           

此處如果報錯排不了錯就重裝docker-ce,新虛拟機一般不會有問題

docker容器---kubernetes部署

禁用swap ,注釋掉最後一行,server3、4也需要做

[[email protected] ~]# swapoff -a
[[email protected] ~]# vim /etc/fstab 
[[email protected] ~]# swapon -s
           
docker容器---kubernetes部署

確定源環境純淨,在server2上安裝完,将源傳給server3、4,作相同操作,都要安裝啟動

[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# vim k8s.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
[[email protected] yum.repos.d]# yum install -y kubelet kubeadm kubectl
[[email protected] yum.repos.d]# yum repolist
[[email protected] yum.repos.d]# systemctl enable --now kubelet
           
docker容器---kubernetes部署

檢視預設配置

kubeadm config print init-defaults
           

列出所需鏡像

拉取鏡像

docker容器---kubernetes部署

初始化叢集

docker容器---kubernetes部署

紅線部分用于後面server3、4加入server2的指令

docker容器---kubernetes部署
[[email protected] ~]# mkdir -p $HOME/.kube
[[email protected] ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[[email protected] ~]# kubectl get ns
檢視節點
[[email protected] ~]# kubectl get node	
           
docker容器---kubernetes部署

指令補齊,斷開連接配接重連

docker容器---kubernetes部署
docker容器---kubernetes部署
[[email protected] ~]# vim kube-flannel.yml
本地檔案太長了這裡不寫了
也可以嘗試使用網絡元件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
           
[[email protected] ~]# kubectl apply -f kube-flannel.yml
[[email protected] ~]# kubectl get pod --namespace kube-system
           
docker容器---kubernetes部署
docker容器---kubernetes部署

導出節點所需鏡像并傳輸給server3、4

[[email protected] ~]# docker save quay.io/coreos/flannel:v0.12.0-amd64 registry.aliyuncs.com/google_containers/pause:3.2 registry.aliyuncs.com/google_containers/coredns:1.7.0 registry.aliyuncs.com/google_containers/kube-proxy:v1.20.2 >  node.tar
[[email protected] ~]# scp node.tar server3:
[[email protected] ~]# scp node.tar server4:
           

server3、4導入本地鏡像

[[email protected] ~]# docker load -i node.tar 
[[email protected] ~]# docker load -i node.tar 
           
docker容器---kubernetes部署

server3、4節點加入

[[email protected] ~]# kubeadm join 192.168.3.202:6443 --token 0wbzv7.44zylrhhpmlbohzh \
>     --discovery-token-ca-cert-hash sha256:f0986d8964f4f21996da9d741e285f6ec4ff32cd91f4a0a314eeb43be8d2cf94
[[email protected] ~]# kubeadm join 192.168.3.202:6443 --token 0wbzv7.44zylrhhpmlbohzh \
>     --discovery-token-ca-cert-hash sha256:f0986d8964f4f21996da9d741e285f6ec4ff32cd91f4a0a314eeb43be8d2cf94
           
docker容器---kubernetes部署

server2檢視,部署完成

[[email protected] ~]# kubectl get nodes
[[email protected] ~]# kubectl get pod -n kube-system
           
docker容器---kubernetes部署