k8s
centos離線安裝k8s
k8s基本概念
1、安裝前準備工作
# 1、服務(wù)器時間同步
timedatectl set-timezone Asia/Shanghai
# 2斟览、關(guān)閉防火墻、安全性【測試環(huán)境使用】
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
# 3辑奈、修改主機名
hostnamectl set-hostname master &&bash # master節(jié)點
hostnamectl set-hostname node1 &&bash # node節(jié)點
# 4苛茂、修改hosts文件, 添加master和node的本地域名【master和所有node配成一樣】
vim /etc/hosts
# 5、免密交互【僅master上】
ssh-keygen # 生成公鑰
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@master
ssh root@node1 # 測試連接
# 6鸠窗、關(guān)閉交換內(nèi)存swap
swapoff -a # 臨時關(guān)閉
sed -i '12s/^\//#\//g' /etc/fstab # 永久關(guān)閉
# 7妓羊、網(wǎng)橋設(shè)置
echo -e "net.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.d/k8s.conf
sysctl --system # 使用生效
2、部署docker(至少兩臺稍计,一個master,一個node)
# 解壓安裝docker
tar -zxvf docker-ce-18.09.tar.gz
cd docker && yum localinstall *.rpm -y # yum安裝相關(guān)依賴
# 啟動docker
systemctl start docker
systemctl enable docker #開機啟動
docker version
# 配置阿里云docker鏡像加速站
vim /etc/docker/daemon.json # 新增
{
"registry-mirrors": ["https://fskvstob.mirror.aliyuncs.com/"]
}
systemctl daemon-reload # 重新加載
3躁绸、部署K8s集群(至少兩臺,一個master,一個node)
# 1、解壓安裝k8s
tar -zxvf kube114-rpm.tar.gz
cd kube114-rpm && yum localinstall *.rpm -y # yum解決依賴
# 2涨颜、導(dǎo)入k8s相關(guān)的鏡像
docker load -i k8s-114-images.tar.gz
docker load -i flannel-dashboard.tar.gz
# 3、查看k8s鏡像
docker images # 共9個k8s相關(guān)的鏡像
4茧球、master節(jié)點初始化
# 1庭瑰、配置pod網(wǎng)絡(luò)
kubeadm init --kubernetes-version=v1.14.1 --pod-network-cidr=10.244.0.0/16
# ******************復(fù)制輸出,后面node節(jié)點加入集群的時候需要使用************************
# 如果遇到 net-ipv4的報錯抢埋。解決方法:
echo "1" >> /proc/sys/net/ipv4/ip_forward
# 2弹灭、查看節(jié)點
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get node # 查看本節(jié)點的狀態(tài),此時為《未準備好》
kubectl get pod --all-namespaces # 查看pod的命名空間
# 3揪垄、配置kubeconfig變量
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile
source /etc/profile
echo $KUBECONFIG # /etc/kubernetes/admin.conf
# 4穷吮、部署flannel網(wǎng)絡(luò)
kubectl create -f kube-flannel.yml
kubectl get node
# 5、【切換到node節(jié)點】使用kubeadm join加入node節(jié)點
systemctl enable kubelet # 添加開機啟動k8s
kubeadm join 192.168.0.110:6443 --token *** --discovery-token-ca-cert-hash sha256:***
5饥努、驗證搭建是否成功
kubectl get node # 查看k8s集群上的節(jié)點
# 【master上】部署k8s UI界面(dashboard)
kubectl apply -f kubernetes-dashboard.yaml
kubectl apply -f admin-role.yaml
kubectl apply -f kubernetes-dashboard-admin.rbac.yaml
kubectl -n kube-system get svc
# 查看dashboard的安裝節(jié)點
kubectl get pods --all-namespaces -o wide
# 網(wǎng)頁驗證
http://dashboard_node_ip:32000
k8s基本命令使用
#
kubectl get pods --all-namespaces -o wide
#
kubectl get services --all-namespaces