K8S學習筆記01 Centos7安裝Kubeadm

安裝Kubeadm

環境配置

關閉防火牆html

systemctl stop firewalld
systemctl disable firewalld

關閉selinuxnode

# 永久
sed -i 's/enforcing/disabled/' /etc/selinux/config 

# 臨時
setenforce 0

關閉 swaplinux

# 臨時
swapoff -a  

# 永久
sed -ri 's/.*swap.*/#&/' /etc/fstab

重置主機名nginx

hostnamectl set-hostname k8smaster

配置hostsgit

cat >> /etc/hosts << EOF 
10.206.0.15 k8s-master 
10.206.0.17 k8s-node1 
10.206.0.10 k8s-node2 
EOF

配置網絡github

cat > /etc/sysctl.d/k8s.conf << EOF 
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1 
EOF

# 生效
sysctl --system

時間同步docker

yum install ntpdate -y
ntpdate time.windows.com

安裝Docker

安裝dockerjson

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo 

yum -y install docker-ce-18.06.1.ce-3.el7 

systemctl enable docker && systemctl start docker 

docker --version

添加阿里雲YUM源segmentfault

設置倉庫地址:https://help.aliyun.com/docum...windows

cat > /etc/docker/daemon.json << EOF
{ 
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"] 
}
EOF

添加 yum 源

cat > /etc/yum.repos.d/kubernetes.repo << EOF 
[kubernetes] 
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 
enabled=1 
gpgcheck=0 
epo_gpgcheck=0 
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg 
EOF

安裝kubelet kubeadm kubectl

yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0


systemctl enable kubelet

部署Kubenetes Master

在Master節點執行

kubeadm init --apiserver-advertise-address=10.206.0.15 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

獲得token

kubeadm join 10.206.0.15:6443 --token iv8baz.f2yagtk257ilmanr \
    --discovery-token-ca-cert-hash sha256:b43a11c9feeab057ee3d6ee91fd7e96dfc75859911f96ff1e89e9578d0801c23

提示使用kubectl工具

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 nodes

安裝Node節點

執行kubeadm join

kubeadm join 10.206.0.15:6443 --token iv8baz.f2yagtk257ilmanr \
    --discovery-token-ca-cert-hash sha256:b43a11c9feeab057ee3d6ee91fd7e96dfc75859911f96ff1e89e9578d0801c23

部署CNI網絡插件

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

#手動拉取鏡像
docker pull quay.io/coreos/flannel:v0.14.0

kubectl apply -f kube-flannel.yml

部署成功

kubectl get pods -n kube-system

NAME                                 READY   STATUS     RESTARTS   AGE
kube-flannel-ds-2lzv7                0/1     Init:0/1   0          3m9s
kube-flannel-ds-2qh8t                0/1     Init:0/1   0          3m9s
kube-flannel-ds-72fb7                0/1     Init:0/1   0          3m9s

節點運行成功

kubectl get nodes

NAME         STATUS   ROLES    AGE   VERSION
k8s-master   Ready    master   54m   v1.18.0
k8s-node1    Ready    <none>   44m   v1.18.0
k8s-node2    Ready    <none>   44m   v1.18.0

測試kubernetes集羣

建立一個pod

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc

NAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        148m
service/nginx        NodePort    10.97.184.183   <none>        80:31312/TCP   4s

測試訪問

curl http://公網IP:31312

image.png

相關文章
相關標籤/搜索