Zhong__k8s基础尝试和配置flannel
時間:2020.01.08
環境:CentOS7(64位 最小化安裝)VMware15(網絡連接方式:NAT)
目的:K8s基礎配置
說明:Centos7系統? 本文參考文章??https://www.jianshu.com/p/99d09406373e
宿主機配置: 確保VMware NAT Service和VMware DHCPService等相關服務開啟
作者:Zhong QQ交流群:121160124 歡迎加入!
準備k8s-master1和k8s-node1、k8s-node2虛擬機
查看主機名
?
uname -n #或者 hostnamectl修改主機名
hostnamectl set-hostname k8s-master1 #k8s-master1 hostnamectl set-hostname k8s-node1 #k8s-node1 hostnamectl set-hostname k8s-node2 #k8s-node2修改hosts文件(所有)
vi /etc/hosts增加如下的配置:
192.168.88.8 k8s-master1 192.168.88.66 k8s-node1 192.168.88.88 k8s-node2關閉 SELinux
setenforce 0 #重啟后失效關閉和禁止開機啟動防火墻:
?
systemctl stop firewalld.service systemctl disable firewalld.service?
k8s-master1節點 安裝etcd (數據存儲,注意需要Base源)
yum install etcd -y修改etcd配置文件
?
vim /etc/etcd/etcd.conf 6行:ETCD_LISTEN_CLIENT_URLS="[http://0.0.0.0:2379](http://0.0.0.0:2379)" 21行:ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379" # or ETCD_ADVERTISE_CLIENT_URLS="http://192.168.88.8:2379"啟動并開機自啟
?
systemctl start etcd.service systemctl enable etcd.service查看
?
netstat -lntup|grep 2379測試(存數據是目錄結構 和鍵值對相似)
?
etcdctl set /test/word 123456 #插入數據 鍵(目錄)值(123456) etcdctl ls /test etcdctl get /test/word檢查集群健康狀態
?
etcdctl -C http://0.0.0.0:2379 cluster-healthMaster節點安裝kubernetes
yum install kubernetes-master.x86_64 -y修改API配置文件
vim /etc/kubernetes/apiserver?
8行: KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" #服務的監聽地址 11行:KUBE_API_PORT="--port=8080" #服務監聽的端口 14行:KUBELET_PORT="--kubelet-port=10250" #通過10250端口控制kubelet 17行:KUBE_ETCD_SERVERS="--etcd-servers=[http://192.168.88.8:2379] #APIserver是通過那個地址和端口連接etcd數據 23行:KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota" #默認的管理控制插件ServiceAccount刪掉修改其他兩個服務通用的配置文件
vim /etc/kubernetes/config 22行:KUBE_MASTER="--master=[http://192.168.88.8:8080]?
啟動master所有服務
systemctl enable kube-apiserver.service systemctl start kube-apiserver.service systemctl enable kube-controller-manager.service systemctl start kube-controller-manager.service systemctl enable kube-scheduler.service systemctl start kube-scheduler.service?
測試集群是否正常
kubectl get componentstatusNode節點安裝kubernetes
yum install kubernetes-node.x86_64 -y #同時會安裝docker?
修改kube-proxy服務配置文件
vim /etc/kubernetes/config 22行:KUBE_MASTER="--master=[http://192.168.88.8:8080]修改kubelet服務服務配置文件
vim /etc/kubernetes/kubelet 5行:KUBELET_ADDRESS="--address=0.0.0.0" #監聽的地址 8行:KUBELET_PORT="--port=10250" #kubelet端口 11行:KUBELET_HOSTNAME="--hostname-override=192.168.88.66" #給自己定義唯一的名字 不能沖突 IP地址或者主機名(各自節點改各自節點的) 14行:KUBELET_API_SERVER="--api-servers=[http://192.168.88.8:8080] #連接api的地址啟動node節點所有服務
systemctl start kubelet.service systemctl enable kubelet.service systemctl start kube-proxy.service systemctl enable kube-proxy.service在master測試 是否有節點加入集群
kubectl get nodes所有節點安裝flannel(網絡通訊)插件需要etcd
yum install flannel -y修改flannel配置文件
vim /etc/sysconfig/flanneld # Flanneld configuration options # etcd url location. Point this to the server where etcd runs FLANNEL_ETCD_ENDPOINTS="http://192.168.88.8:2379" #指向k8s-master1# etcd config key. This is the configuration key that flannel queries # For address range assignment FLANNEL_ETCD_PREFIX="/atomic.io/network"# Any additional options that you want to pass #FLANNEL_OPTIONS=""?
Master節點創建etcd值
etcdctl mk /atomic.io/network/config '{ "Network": "172.16.0.0/16" }' etcdctl get /atomic.io/network/config?
安裝docker(主要是兼職私有倉庫(可以單獨起一臺))
yum install docker -y啟動flannel網絡并重啟所有服務
systemctl enable flanneld.service systemctl restart flanneld.service service docker restart systemctl restart kubelet.service systemctl restart kube-proxy.service?
Node節點啟動所有服務
systemctl enable flanneld.service systemctl restart flanneld.service service docker restart systemctl restart kubelet.service systemctl restart kube-proxy.service?
這時ifconfig會發現flannel出現172段網絡
?
所有節點測試是否跨主機通信? 測試之前先修改 iptables(所有)
?
?
?
iptables -L -n #查看 iptables -P FORWARD ACCERT?
啟動docker并查看ip和測試
docker pull busybox docker run -it --rm --name busybox busybox ifconfig ping k8s-master1和k8s-node1、k8s-node2?
如圖
?
?
?
?
修改iptables規則為永久生效
vim /usr/lib/systemd/system/docker.service 18行插入一行:ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT重啟docker
systemctl daemon-reload systemctl restart docker為所有節點配置 鏡像加速,和私有倉庫位置
vim /etc/sysconfig/docker?
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https://registry.docker-cn.com --insecure-registry=192.168.88.8:18000' systemctl restart docker #重啟docker?
Master啟動私有倉庫
docker pull registry docker run -d -p 18000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry測試倉庫是否能上傳
docker tag docker.io/busybox:latest 192.168.88.8:18000/busybox:latest docker push 192.168.88.8:18000/busybox:latest?
?
加入qq群交流技術:121160124? 關注微信公眾號
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Zhong__k8s基础尝试和配置flannel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php连接mysql 500错误日志_p
- 下一篇: GPGPU报告