Use K8S implantar o Service Nginx, Nginx fornecemos serviços apenas deseja implantar um dos anfitriões, o anfitrião não fornece outros serviços
guia e manchas Configurações A.
A fim de garantir que ele pode ser atribuído a nginx nginx servidor requer guia e manchas Configurações, guia Configurações permite Pod optar por implantar o servidor, você pode definir a mancha para que outros serviços não pode ser implementado no servidor Pod
O IP do servidor nginx implantação é 192.168.1.232
guia configurações
# Tecla tab Configurações para typevalue como nginx kubectl o rótulo Nó = 192.168.1.232 do tipo nginx # olhar para o rótulo kubectl o nó 192.168.1.232 --show-Labels GET Nome Idade VERSÃO o STATUS os papéis RÓTULOS 192.168.1.232 Pronto <nenhum> Kubernetes 30h v1.17.4. io / arch = amd64, kubernetes.io / hostname = 192.168.1.232, kubernetes.io / os = linux, type = nginx
Set mancha
# Key to set stain node192.168.1.232 ao valor da chave nginx effec NoSchedule não programado para # tolerations salvo disposição em parâmetros correspondentes no Pod kubectl mancha nó 192.168.1.232 key = nginx: NoSchedule
Ver mancha
kubectl descrever nó 192.168.1.232
II. Set Nginx-implantação de arquivo yaml
Nginx deployment.yaml-CAT # apiVersion: Apps / V1 tipo: a implantação de metadados: Marcadores: Nginx: App nome: Implantação Nginx- spec: Réplicas :. 1 Selector: matchLabels: App: Nginx Modelo: Metadados: Marcadores: App: Nginx spec: contentores: - Image: Nginx: 1.14.0 nome: Nginx seletor # tag nodeSelector: tipo: Nginx # mancha pode ser fornecido a um correspondente servidor programador tolerations: - chave: "Key" operador: "Equal" valor: "Nginx" efeito: "NoSchedule"
Iniciar aplicação
kubectl aplicar -f nginx-deployment.yaml
Ver foi agendada para o servidor correspondente
# Kubectl get pod -o ampla NOME READY STATUS Reinicia AGE IP NODE NOMEADOS GATES NODE PREPARADO nginx-implantação-57f94c46b4-5whb5 1/1 Correndo 0 6h30m 172.17.97.3 192.168.1.232 <nenhum> <nenhum>
III. Arquivos de configuração Set Nginx e diretório raiz de montagem
Nginx começou a usar o arquivo de configuração padrão e o diretório raiz web padrão, você precisa volume de utilização de montagem
# Cat nginx-deployment.yaml apiVersion: apps / v1 tipo: Implantação de metadados: etiquetas: app: nginx nome: nginx-implantação spec: réplicas: 1 seletor: matchLabels: app: nginx modelo: metadados: etiquetas: app: nginx spec: recipientes: - imagem: nginx: 1.14.0 nome: nginx volumeMounts: - nome: conf MOUNTPATH: / etc / nginx - nome: opt MOUNTPATH: / opt #标签选择器 nodeSelector: digite: Nginx # Set mancha pode ser agendado para o servidor correspondentes tolerations: - Chave: "Key" operador: "Equal" valor: "Nginx" Efeito: "NoSchedule" Volumes: - nome: o conf hostPath: caminho: / etc / Nginx Tipo: Diretório - nome: opt hostPath: caminho: / opt do tipo: Diretório
O uso de nativo montar hostPath arquivos de configuração e diretório raiz montar, usar a melhor produção de PVC montagem
IV. Serviço de definições para prestar serviços
# Cat nginx-service.yaml apiVersion: v1 tipo: Serviço de metadados: etiquetas: app: nginx nome: nginx-implantação spec: portas: - port: 80 Nome: nginx-service80 protocolo: TCP TARGETPORT: 80 nodePort: 80 - port: 81 nome: nginx-service81 protocolo: TCP TARGETPORT: 81 nodePort: 81 seletor: app: nginx tipo: nodePort
PS: Use NodePort ativar a porta para prestar serviços, se o mapeamento externo várias portas precisa adicionar o nome do nome do parâmetro parâmetros definidos no porto, porta única sem definir nome parâmetros
K8S NodePort padrão de mapeamento de portas externas para outras portas 30000-50000 mapeamento conforme necessário para modificar o ficheiro de configuração / opt / Kubernetes / CFG / kube-apiserver, modificar o intervalo de porta