k8s(kubernetes)安裝
環境
master:172.31.50.150
node:172.31.50.145
操作
master:
關閉selinux
手動關閉:setenforce 0
永久關閉:vi /etc/selinux/config
...
SELINUX=disabled
...
關閉swap
手動關閉:swapoff -a
永久關閉:vi /etc/sysctl.conf
...
vm.swappiness=0
...
關閉防火牆
systemctl stop firewalld
systemctl disable firewalld
直接yum安裝需要的庫,首先安裝第三方源
yum install -y epel-release
然後安裝元件
yum -y install etcd kubernetes-master
編輯etcd配置,別的配置均預設即可
vi /etc/etcd/etcd.conf
...
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
...
配置kubernetes
vi /etc/kubernetes/apiserver
... KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" ... KUBELET_PORT="--port=10250" ... KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota" ...
啟動元件服務和設定開機啟動
systemctl start etcd
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl enable etcd
systemctl enable kube-apiserver
systemctl enable kube-controller-manager
systemctl enable kube-scheduler
在etcd中定義flannel網路(用於容器跨物理機訪問)
etcdctl mk /atomic.io/network/config ‘{“Network”:“172.17.0.0/16”}’
node:
selinux、swap、防火牆如master上的配置一樣
第三方源
yum install -y epel-release
元件
yum -y install flannel kubernetes-node
為flannel網路指定etcd服務
vi /etc/sysconfig/flanneld
...
FLANNEL_ETCD_ENDPOINTS="http://172.31.50.150:2379"
...
配置kubernetes
vi /etc/kubernetes/config
...
KUBE_MASTER="--master=http://172.31.50.150:8080"
vi /etc/kubernetes/kubelet
...
KUBELET_ADDRESS="--address=0.0.0.0"
...
KUBELET_PORT="--port=10250"
...
KUBELET_HOSTNAME="--hostname-override=172.31.50.145"
...
KUBELET_API_SERVER="--api-servers=http://172.31.50.150:8080"
...
啟動元件服務和設定開機啟動
systemctl restart kube-proxy
systemctl restart kubelet
systemctl restart docker
systemctl restart flanneld
systemctl enable kube-proxy
systemctl enable kubelet
systemctl enable docker
systemctl enable flanneld
最後
在master上檢視節點資訊
kubectl get nodes
NAME STATUS AGE
172.31.50.145 Ready 12m
此時,node上已經安裝好了docker,master沒有安裝docker