1. 程式人生 > 其它 >k8s(kubernetes)安裝

k8s(kubernetes)安裝

技術標籤:Linuxk8s

環境

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