一元购网站建设流程图,快速做网站套餐,成都有做网站的公司吗,随州网站建设全包一、初始化操作 1.1、关闭防火墙 systemctl stop firewalld
systemctl disable firewalld关闭交换空间 swapoff -a # 临时
sed -ri s/.*swap.*/#/ /etc/fstab # 永久重启才能生效 根据规划设置主机名 hostnamectl set-hostname hostname映射主机 cat …一、初始化操作 1.1、关闭防火墙 systemctl stop firewalld
systemctl disable firewalld关闭交换空间 swapoff -a # 临时
sed -ri s/.*swap.*/#/ /etc/fstab # 永久重启才能生效 根据规划设置主机名 hostnamectl set-hostname hostname映射主机 cat /etc/hosts EOF
192.168.113.120 k8s-master
192.168.113.121 k8s-node1
192.168.113.122 k8s-node2
EOF安装了docker需要关闭 Docker 的 cgroups vim /etc/docker/daemon.json{exec-opts: [native.cgroupdriversystemd]
}二、安装软件
2.1、k8s下载源设置
更新系统软件包列表并升级已安装的软件包
sudo apt update
sudo apt upgrade -y添加 Kubernetes 签名密钥
curl -O https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg将下载的密钥文件导入到系统的 APT 密钥环中
sudo apt-key add apt-key.gpg添加 Kubernetes 软件包存储库
vim /etc/apt/sources.list.d/kubernetes.list添加如下内容
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main更新软件列表
sudo apt update2.2、指定版本安装
使用apt安装
sudo apt install -y kubelet1.23.6-00 kubeadm1.23.6-00 kubectl1.23.6-00查看是否安装成功和版本号
kubelet --version
kubectl version --shor禁用自动更新为了避免通过 APT 自动升级这些组件可以将它们标记为被锁定状态。执行以下命令禁用自动更新。
sudo apt-mark hold kubelet kubeadm kubectl启动 kubelet 服务执行以下命令启动 kubelet 服务。
systemctl enable kubelet查看启动状态
sudo systemctl status kubelet查看日志
journalctl -xefu kubeletkubeadm reset三、k8s集群配置
3.1、在主节点执行集群初始化并且指定主节点
kubeadm init \--apiserver-advertise-address192.168.110.100 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.23.6 \--service-cidr10.96.0.0/12 \--pod-network-cidr10.244.0.0/16命令说明kubeadm init用于初始化 Kubernetes 集群的命令。它会根据提供的参数配置和创建一个新的 Kubernetes 集群apiserver-advertise-address通过该参数指定 kube-apiserver 的发布地址这是集群中其他节点连接到 master 节点的地址image-repository指定使用的容器镜像仓库。kubernetes-version过该参数指定要安装的 Kubernetes 版本service-cidr指定 Kubernetes 服务的 IP 地址范围。这是 Kubernetes 服务分配的 IP 地址池用于服务发现和负载均衡。pod-network-cidr指定 Pod 网络的 IP 地址范围。这是为 Kubernetes Pod 分配的 IP 地址池用于容器之间的通信。
初始化成功后在后面日志最后会有一段加入集群的命令例如
kubeadm join 192.168.31.100:6443 --token x6v0kg.l40l5kjqapkrycv1 \--discovery-token-ca-cert-hash sha256:343238376e044d3d73edc8739ff07e8a02bc7bc2d68d7dba548df568bba7231b3.2、配置API 通信需要使用的身份验证信息
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config#配置完后就可以使用 kubectl get nodes 查看节点信息3.3、节点加入集群
在子节点上执行命令加入刚才初始化的集群
kubeadm join xxx.xxx.xxx.xxx:6443 --token jnhrwg.owebyxwhjd97l4p2 --discovery-token-ca-cert-hash sha256:817b100b0f222826dd8870d9a8700cbdc93f2dce19b38d42b8981462466ca024端口号固定ip填主节点的。 token值可以使用kubeadm token list 查看或者kubeadm token create 创建一个 discovery-token-ca-cert-hash sha256 , 使用如下命令获取记得拼接sha256: openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2/dev/null | openssl dgst -sha256 -hex | sed s/^.* //3.4、配置CNI网络插件
下载calico配置文件可能网络会超时 这个也需要注意下载的目录
curl https://docs.projectcalico.org/manifests/calico.yaml -O修改 calico.yaml文件中的CALICO_IPV4POOL_CIDR 配置信息和初始化集群中的cidr 相同
- name: CALICO_IPV4POOL_CIDRvalue: 10.244.0.0/16查看 calico.yaml 需要的镜像
grep image calico.yaml他需要的镜像加上了下载源地址是外网的下载慢所以可能需要手动下好或者去掉下载源 将文件中的镜像下载地址去除让使用我们的自己设置的镜像源
sed -i s#docker.io/##g calico.yaml执行calico.yaml文件
kubectl apply -f calico.yaml执行完可以查看系统的pod启动情况
kubectl get po -n kube-system其他可能使用到的命令 四、使用Nginx测试K8S集群
1、创建部署
kubectl create deployment nginx --imagenginx2、暴露端口
kubectl expose deployment nginx --port80 --typeNodePort3、查看 pod 以及服务信息
kubectl get pod,svc4、查看部署信息
kubectl get deploy5、将ngixn部署扩展为3个
kubectl scale deploy --replicas3 nginx6、其他命令
# 如果发现其他节点一直创建失败可以先删除指定的pod
kubectl delete pod nginx-85b98978db-gtppc#再去查看pod信息的时候就会发现又开始创建另外一个了
kubectl get po# 删除部署的ngin
kubectl delete deploy nginx五、部署常用到的命令
查看 pods
kubectl get po查看系统级别的pods信息
kubectl get po -n kube-system-n 是指命名空间kube-system是属于k8s自带的